Spring Boot整合MybatisPlus和Druid

在Java中 , 我比较ORM熟悉的只有Hibernate和Mybatis,其他的并未实践使用过 , 在这二者之间我更喜欢Mybatis,因为它精简、灵活(毕竟我是上年纪的程序员 , 喜欢自己写SQL) 。
刚才有提到Mybatis , 但是这里的重点是介绍Mybatis-Plus , 它是Mybatis的增强版 , 如果要了解Mybatis的细节的话请点击这里 。
简介据MyBatis-Plus官网介绍 , MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具 , 在 MyBatis 的基础上只做增强不做改变 , 为简化开发、提高效率而生 。 这看上去挺香的 , 所以必须得尝尝 。 这里涉及到的环境、组件如下:

  • MariaDB 10.3.10
  • Windows 10
  • IntelliJ IDEA 2019.3.1
  • 64 bit JDK 1.8.0_231
  • Spring Boot 2.2.3.RELEASE
  • Lombok 1.18.10
  • Knife4j 2.0.1
  • Mybatis-plus 3.3.0
  • Druid
Spring Boot 整合Mybatis-Plus我之前一直是直接用的Mybatis,但是作为喜欢偷懒的人 , 当然得想办法来提高我们的效率 , 所以就想着用Mybatis-Plus来省去一些单表的CRUD操作再结合MyBatis-Plus配套的AutoGenerator代码生成器 , 就能为我们节省不少时间 。
引入依赖包首先 , 我们得引入Mybatis-Plus和mariadb-java-client等几个包:
2020-01-20 09:51:32.021 DEBUG org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:143) 2CNU7X5OLAUE004 --- [main] c.e.d.m.U.insert: ==>Preparing: INSERT INTO users ( username, password, enabled ) VALUES ( ?, ?, ? ) 2020-01-20 09:51:32.036 DEBUG org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:143) 2CNU7X5OLAUE004 --- [main] c.e.d.m.U.insert: ==> Parameters: bbbb(String), aaaa(String), 1(Integer)在application.yml配置我们的数据库连接信息:
spring:datasource:druid:stat-view-servlet:enabled: truelogin-username: adminlogin-password: admin这里我新建一个名为User的实体,具体属性如下:
spring:datasource:druid:stat-view-servlet:enabled: truelogin-username: adminlogin-password: admin新建一个UserMapper接口:
spring:datasource:druid:stat-view-servlet:enabled: truelogin-username: adminlogin-password: admin在我们的启动类加上@MapperScan来指定我们的Mapper扫描目录:
spring:datasource:druid:stat-view-servlet:enabled: truelogin-username: adminlogin-password: admin我新建一个单元测试 , 来试试我们的UserMapper的selectList:
spring:datasource:druid:stat-view-servlet:enabled: truelogin-username: adminlogin-password: admin会看到Mybatis-Plus为我取出的数据:
spring:datasource:druid:stat-view-servlet:enabled: truelogin-username: adminlogin-password: admin我们再试试Mybatis-Plus为什么封装的Insert:
spring:datasource:druid:stat-view-servlet:enabled: truelogin-username: adminlogin-password: admin可以看到日志:
spring:datasource:druid:stat-view-servlet:enabled: truelogin-username: adminlogin-password: admin其他高端操作请阅读相关文档
Spring Boot整合Druid数据库连接池在Spring Boot 2.X默认使用了HikariCP作为数据库连接池,据说hikariCP性能最高(hikariCP>druid>dbcp>c3p0),但是我更喜欢Druid全面的功能和毫不逊色的性能 。 开撸吧 , 首先当然还是引入我们的需要的Druid依赖包:
spring:datasource:druid:stat-view-servlet:enabled: truelogin-username: adminlogin-password: admin接下来就是修改我们的的application.yml配置:
spring:datasource:druid:stat-view-servlet:enabled: truelogin-username: adminlogin-password: admin可以看到我们的日志信息为:
spring:datasource:druid:stat-view-servlet:enabled: truelogin-username: adminlogin-password: admin现在我们增加一个Controller来获取Druid的监控数据:
spring:datasource:druid:stat-view-servlet:enabled: truelogin-username: adminlogin-password: admin访问http://localhost:8080/druid/status可以得到一个json:
spring:datasource:druid:stat-view-servlet:enabled: truelogin-username: adminlogin-password: admin我们还可以打开stat-view-servlet,需要加入如下配置:
spring:datasource:druid:stat-view-servlet:enabled: truelogin-username: adminlogin-password: admin这是启动后 , 访问http://localhost:8080/druid/index.html页面就会跳转到登录页面,输入我们配置的用户名和密码admin/admin:
Spring Boot整合MybatisPlus和Druid文章插图
Spring Boot整合MybatisPlus和Druid文章插图
Spring Boot整合MybatisPlus和Druid文章插图
可以看到Druid提供的功能是比较全面的 , 另外在第三张图可以看到我们的相关参数 , 大家也可以参照这个来配置连接池 。