1、首先我们创建项楫默礤鲼目,在该项目中需要引入SpringBoot、MyBatis、Druid和MySQL的jar包,首先要引入pare荏鱿胫协nt,以此确定SpringBoot项目相关jar包的版本,接下来再引入其他相关的jar包。<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.0.RELEASE</version> <relativePath/> <!-- lookup parent from repository --></parent><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope></dependency><!-- alibaba的druid数据库连接池 --><dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.9</version></dependency><dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.0</version></dependency>
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去测试增删改查功能的接口,以下分别为新增、查询和删除的测试。