我是靠谱客的博主 刻苦水壶,最近开发中收集的这篇文章主要介绍druid mysql mybatis_SpringBoot+Druid+Mysql+Mybatis,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Druid连接池

连接池技术

连接池技术预先建立多个数据库连接对象,然后将连接对象保存到连接池中。当客户请求到来时,从池中取出一个连接对象为客户服务,当请求完成后,客户程序调用close()方法,将连接对象放回池中

HiKaricp:速度比较快;

TomCat-jdbc、c3p0、proxoll、bonecp

Druid:功能比较齐全;

开发步骤

首先在pom.xml引入所需要的依赖(mysql version按个人实际安装的版本)

mysql

mysql-connector-java

8.0.15

org.mybatis.spring.boot

mybatis-spring-boot-starter

2.1.0

com.alibaba

druid-spring-boot-starter

1.1.10

注意:引入的依赖一定要正确

刚开始按网上的某些教程引入的druid依赖是这样的

32228ba14e2476de2707c4d4cf761e14.png

结果一直引入失败,花了将近一个小时,实在不想吐糟.....

然后在application.properties(个人比较倾向)对MySQL,Mybatis进行设置

17f246d133096b7c64af077cbac9b996.png

具体的就不多说了,这里需要注意的有:

如果MySQL是5.X版本的话----spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver

Mybatis的xml映射文件路径SpringBoot默认是放在resources目录下,如果想自定义文件路径跟dao层在同一目录下,需要在pom.xml中设置(大概原因是resources的路径下资源springboot默认是不编译的,需要自己配置,如果不配置,在启动的时候就会提示找不到dao层里的方法)

org.springframework.boot

spring-boot-maven-plugin

src/main/java

**/*.xml

true

---springboot默认的连接池是HiKaricp,配置Mysql连接的是spring.datasource.xxxxx,但这里使用的是阿里的Druid连接池,

所以一定要配置正确----spring.datasource.druid.xxxxx,否则运行就会出错....

Druid的配置还是蛮多的,这里附上本人application.properties的druid配置

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

#连接池指定 springboot2.0版本默认使用HicariCp 此处替换成Druid

#为下面的连接池的补充设置,应用到上面所有数据源中

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

# 初始化大小,最小,最大

spring.datasource.druid.initial-size=1

spring.datasource.druid.min-idle=3

spring.datasource.druid.max-active=20

spring.datasource.druid.async-init=false

#配置获取等待连接超时的时间

spring.datasource.druid.max-wait=60000

# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒

spring.datasource.druid.timeBetweenEvictionRunsMillis=60000

# 配置一个连接在池中最小生存的时间,单位是毫秒

spring.datasource.druid.minEvictableIdleTimeMillis=300000

spring.datasource.druid.validationQuery=SELECT 'x'

spring.datasource.druid.testWhileIdle=true

spring.datasource.druid.testOnBorrow=false

spring.datasource.druid.testOnReturn=false

# 是否缓存preparedStatement,打开PSCache,并且指定每个连接上PSCache的大小,官方建议MySQL下关闭,如果用于SQL防火墙,建议打开

spring.datasource.druid.poolPreparedStatements=true

spring.datasource.druid.maxPoolPreparedStatementPerConnectionSize=20

# 通过connectProperties属性来打开mergeSql功能;慢SQL记录

#spring.datasource.druid.filters=stat,wall,log4j

# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙

spring.datasource.druid.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

application.properties

启用单元测试

a52226c6a9d730dcc24086aabd4fab41.png

结果(与application.properties设的值对应上)

9cadcb57626e17293d3a16582de70174.png

(很多细节一定要注意,看似不起眼,一旦出错,半天也找不到原因!反正采坑一时爽,一直才坑一直爽...)

这样SpringBoot+MySQL+Mybatis+Druid最基本的整合就完成了,更深入的设置有待研究.....

最后

以上就是刻苦水壶为你收集整理的druid mysql mybatis_SpringBoot+Druid+Mysql+Mybatis的全部内容,希望文章能够帮你解决druid mysql mybatis_SpringBoot+Druid+Mysql+Mybatis所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部