SpringBoot入门到精通(五):整合Druid和MyBatis

本文详细介绍了如何在SpringBoot项目中整合Druid数据源和MyBatis,包括新建SpringBoot工程、引入相关依赖、配置Druid监控、实现MyBatis的CURD操作以及使用分页助手。通过实例步骤,帮助读者理解并掌握这两项技术的整合过程。
摘要由CSDN通过智能技术生成

整合Druid和MyBatis

1.SpringBoot整合Druid

  Druid是阿里巴巴的一个开源项目,是一个数据库连接池的实现,结合了C3P0、DBCP、PROXOOL等DB池的优点,整合配置参考地址。Druid不但提供连接池的功能,还提供监控功能,可以实时查看数据库连接池和SQL查询的工作情况(最牛X的地方就在与提供的日志监控功能)。在上一章中(SpringBoot整合JDBC,JPA)讲述到,Spring Boot底层都是采用Spring Data的方式进行统一处理,Spring Data中内置连接池数据源HikariDataSource。SpringBoot整合Druid实现数据源更换,则需要手动配置。

1.新建SpringBoot工程,引入依赖

  基础依赖:新建SpringBoot工程,建议引入以下基础依赖

  spring-boot-starter-parent(SpringBoot父工程)——必选
  spring-boot-starter(SpringBoot启动器)——必选
  spring-boot-devtools(SpringBoot热部署)——可选
  spring-boot-starter-web(SpringBoot整合WEB)——必选
  mysql-connector-java(MySQL驱动)——必选
  druid-spring-boot-starter(SpringBoot整合Druid)——必选
  spring-boot-starter-jdbc(SpringBoot整合JDBC)——必选
  spring-boot-starter-test(SpringBoot整合测试Junit)——默认必选
  spring-boot-maven-plugin(SpringBoot打包插件)——必选
  lombok(整合Lombok简化POJO开发)——可选
  spring-boot-configuration-processor(SpringBoot整合配置文件注入POJO)——可选
 1 <!-- MySQL驱动 -->
 2 <dependency>
 3     <groupId>mysql</groupId>
 4     <artifactId>mysql-connector-java</artifactId>
 5     <scope>runtime</scope>
 6 </dependency>
 7         
 8 <!-- SpringBoot整合Druid -->
 9 <dependency>
10      <groupId>com.alibaba</groupId>
11      <artifactId>druid-spring-boot-starter</artifactId>
12      <version>1.1.22</version>
13 </dependency> 

常见问题:整合如果没有引入spring-boot-starter-jdbc,会报错:.....ClassNotFoundException: org....jdbc....embedded.EmbeddedDatabaseType。

问题原因:Spring Boot底层都是采用Spring Data的方式进行统一处理。EmbeddedDatabaseType类在spring-boot-starter-jdbc依赖中。

依赖说明:SpringBoot属于Spring“全家桶”组件,Druid属于阿里巴巴旗下开发产品,所以SpringBoot整合Druid并不是由Spring组件提供依赖,而是由阿里巴巴提供。

2.修改yml配置文件,整合配置Druid

 1 spring:
 2   datasource:
 3     # 数据库访问配置, 使用druid数据源(默认数据源是HikariDataSource)
 4     type: com.alibaba.druid.pool.DruidDataSource
 5     #链接池配置
 6     druid:
 7       driver-class-name: com.mysql.cj.jdbc.Driver
 8       url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
 9       username: root
10       password: xsge
11       
12       # 连接池配置:大小,最小,最大
13       initial-size: 5
14       min-idle: 5
15       max-active: 20
16       
17       # 连接等待超时时间
18       max-wait: 30000
19       
20       # 配置检测可以关闭的空闲连接,间隔时间
21       time-between-eviction-runs-millis: 60000
22       
23       # 配置连接在池中的最小生存时间
24       min-evictable-idle-time-millis: 300000
25       # 检测连接是否有,有效得select语句
26       validation-query: select &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值