druid jar包_Spring Cloud 使用阿里Druid连接池配置踩坑

java的连接池c3p0、DBCP等等好多好多,优劣网上一大堆。在这我用的阿里的Druid连接Mysql5.7以上版本采坑。

安装Mysq6以上版本window版的比较容易,但是linux版的真是麻烦死了,这里安装linux的自己网上搜吧一大堆。我这里使用的是Mysql8.0的。

首先看一下Druid的配置信息

## 数据源配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/sip?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=true
spring.datasource.username=root
spring.datasource.password=root123
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
##com.mysql.jdbc.Driver


#mybatis 配置
mybatis.typeAliasesPackage=com.example.userservice.model
mybatis.mapperLocations=classpath:com/example/userservice/model/*Mapper.xml

#durid登陆账号密码
druid.loginUsername=root
druid.loginPassword=123456
# 下面为连接池的补充设置,应用到上面所有数据源中
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
# 配置获取连接等待超时的时间
spring.datasource.maxWait=60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.timeBetweenEvictionRunsMillis=60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙,防止sql注入
spring.datasource.filters=stat,wall,log4j
spring.datasource.logSlowSql=true

这个不全,详细介绍请看 druid 详细配置 - u010085393的博客 - CSDN博客

先pom中增加jar包,druid不说,mysql-connector用的8.0 ,mybatis。

0f84d6f2bf09b428a1db89d7b900b6b2.png

配置文件修改,mysql6以上版本用的driver是com.mysql.cj.jdbc.Driver这个要注意。

url连接参数有些变化 1:serverTimezone设置时区;2:useSSL=true 使用SSL连接方式;3:如果使用generator生成Mapper的时候一定要加上nullCatalogMeansCurrent=true;

jdbc:mysql://127.0.0.1:3306/sip?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=true

827af735cd14c56b042264e18393e771.png

然后创建DruidConfig 添加注解@Configuration注入

1c577417e6f1d9aee572c984d4b4f59b.png

配置代码如下,其中druidServlet 是Druid的监控页面

package 

生成mapper这里我用maven-generator 生成。pom添加plugin

6ced0b746773218b662ba984504e4ca7.png

maven运行 mybatis-generator:generate 生成

f1148b174a5820e551ea80e6975d460b.png

注意上面配置项中的路径别错了

#mybatis 配置
mybatis.typeAliasesPackage=com.example.userservice.model mybatis.mapperLocations=classpath:com/example/userservice/model/*Mapper.xml

在spring boot启动类添加扫描注解

@MapperScan("com.example.userservice.model")

然后在service添加新接口getAllUsers,添加实现主任Mapper,这里Mapper就是Dao

e4ba7a375e39bc694ab837d5dbc1980e.png

Example类是Mybatis参数封装,要是不想generate生成的化在table标签中设置

<table tableName="user"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               selectByExampleQueryId="false"
               enableSelectByExample="false"
 ></table>

3fcfb20807b9a8bcb12db75e66bef012.png

然后controller添加一个restful接口

44233205e047dcc6d511faf1c097e389.png

ok 打完收工。看看效果吧。

c9cab4db991787f7486cb5d995218957.png

9be3ac6110c377d35fbaf8ecd895783c.png

到这完事( ̄▽ ̄)"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值