多语言展示
当前在线:555今日阅读:86今日分享:14

SpringBoot整合Mybatis实现数据库增删改查

SpringBoot是Java开发中非常流行的框架,MyBatis也是使用较多的ORM框架,本文介绍如何通过SpringBoot去整合Druid连接池、MyBatis框架,实现MySQL数据库的增删改查操作。Druid是数据库连接池,我们之前介绍过基于注解的方法配置Druid连接池,本文使用配置文件的方式去配置连接池。接下来就跟着小编一起去学习SpringBoot整合Mybatis的实现吧。2SpringBoot基于注解配置druid连接池
工具/原料
1

IntelliJ IDEA

2

SpringBoot、Druid、MyBatis、MySQL

方法/步骤
1

首先我们创建项目,在该项目中需要引入SpringBoot、MyBatis、Druid和MySQL的jar包,首先要引入parent,以此确定SpringBoot项目相关jar包的版本,接下来再引入其他相关的jar包。   org.springframework.boot   spring-boot-starter-parent   2.1.0.RELEASE     org.springframework.boot   spring-boot-starter-web    mysql    mysql-connector-java    runtime    com.alibaba    druid-spring-boot-starter    1.1.9    org.mybatis.spring.boot    mybatis-spring-boot-starter    1.3.0

2

接下来我们需要在application.properties配置文件中配置Durid数据库连接池。本机需安装mysql数据库,一下配置为小编本机的数据库配置,数据库名为test,用户名为root,密码为123456。spring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.name=test#监控统计拦截的filtersspring.datasource.druid.filters=statspring.datasource.druid.driver-class-name=com.mysql.jdbc.Driverspring.datasource.druid.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8spring.datasource.druid.username=rootspring.datasource.druid.password=123456#配置连接池初始化大小、最小值、最大值spring.datasource.druid.initial-size=1spring.datasource.druid.min-idle=1spring.datasource.druid.max-active=20#获取连接等待超时时间spring.datasource.druid.max-wait=60000#间隔多久进行一次检测,检测需要关闭的空闲连接spring.datasource.druid.time-between-eviction-runs-millis=60000#一个连接在池中最小生存的时间spring.datasource.druid.min-evictable-idle-time-millis=300000spring.datasource.druid.validation-query=SELECT 1 FROM DUALspring.datasource.druid.test-while-idle= truespring.datasource.druid.test-on-borrow= falsespring.datasource.druid.test-on-return= false#打开PSCache,并指定每个连接上PSCache的大小spring.datasource.druid.pool-prepared-statements=falsespring.datasource.druid.max-pool-prepared-statement-per-connection-size=20# 通过connectProperties属性来打开mergeSql功能;慢SQL记录spring.datasource.druid.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

3

然后是在application.properties配置文件配置Mybatis,我们需要指定xml配置文件的路径和对应实体类的路径,mybatis.typeAliasesPackage这个配置非常重要,我们在编写xml文件时用到实体类的时候可以不用写类的全路径。mybatis.mapperLocations配置我们指定了classpath路径下的mapper目录,如下图所示。#mapper映射xml文件的所在路径mybatis.mapperLocations=classpath*:mapper/*.xml#对应实体类的路径mybatis.typeAliasesPackage=com.example.entity

4

以上SpringBoot整合Druid和MyBatis的配置便完成了,接下来就可以实现增删改查操作吧。我们首先创建一个User实体类,并在数据库中创建一个t_user表,字段需保持一致,如下图所示。

5

接下来我们开始写业务代码了,先从Controller层开始展示代码,使用@RestController注解表明这是一个Rest接口,@Autowired注解注入UserService,接下来便是在方法中调用UserService对象的增删改查方法了,代码比较简单就不贴出来了,如下图所示。然后便是UserService接口和UserServiceImpl实现类的方法,改方法中需要@Service注解将对象交给Spring去管理,同时注入UserDao。

6

接下来便是UserDao接口和userMapper.xml配置文件了,UserDao接口需要@Mapper注解,@Repository注解可有可无,若不加可能会报错,仅需要修改IDE开发工具的告警级别即可。userMapper.xml配置文件中便是编写动态的sql,我们可以注意到resultType和parameterType都是小写的user,这里便是之前设置的mybatis.typeAliasesPackage起作用了,这个user便是User实体类第一个字母的小写,是默认的写法。

7

最后非常重要的一步便是启动类的编写了,在启动类上需要@SpringBootApplication注解,另外由于我们没创建其他配置类,需要添加@MapperScan('com.example.dao'),该注解表明Mapper扫包的位置,代码如下图所示。

8

启动类编写完成后,我们启动该工程,然后使用postman去测试增删改查功能的接口,以下分别为新增、查询和删除的测试。

注意事项
1

注意jar包的正确引用,Mybatis和Druid的配置需要根据实际情况调整,不可照搬。

2

若该经验对您有用,请帮忙投票点赞,非常感谢!您的支持是我坚持写经验的动力。

推荐信息