Springboot中加入druid连接池

网友投稿 280 2022-09-04


Springboot中加入druid连接池

目录1.DRUID连接池介绍2.DRUID 的参数3.配置依赖4.添加文件

1.DRUID连接池介绍

Druid是阿里巴巴开发的号称为监控而生的数据库连接池,Druid是目前最好的数据库连接池。在功能、性能、扩展性方面,都超过其他数据库连接池,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况。

2.DRUID 的参数

jdbcUrl 连接数据库的url:mysql : jdbc:mysql://localhost:3306/testusername 数据库的用户名password 数据库的密码​driverClassName 驱动类名。根据url自动识别,这一项可配可不配,如果不配置druid会根据url自动识别dbType

driverClassName的配置:

initialSize初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次         getConnection时​        maxActive 最大连接池数量​        maxIdle 已经不再使用,配置了也没效果​        minIdle 最小连接池数量        ​maxWait 获取连接时最大等待时间,单位毫秒

3.配置依赖

 

com.alibaba

druid-spring-boot-starter

1.2.8

log4j

log4j

1.2.17

4.添加文件

往application.yml或者application.properties文件中添加(两者文件本质上是相同的,建议采用yml文件)

#数据库连接池druid配置

spring:

#数据源

datasource:

#1.JDBC

type: com.alibaba.druid.pool.DruidDataSource

#驱动类

driver-class-name: com.mysql.cj.jdbc.Driver

url: jdbc:mysql://localhost:3306/t263?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false

username: root

password: 123

druid:

#2.连接池配置

#初始化连接池的连接数量 大小,最小,最大

initial-size: 5

min-idle: 5

max-active: 20

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

max-wait: 60000

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

time-between-eviction-runs-millis: 60000

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

min-evictable-idle-time-millis: 30000

validation-query: SELECT 1 FROM DUAL

test-while-idle: true

test-on-borrow: true

test-on-return: false

# 是否缓存preparedStatement,也就是PSCache 官方建议MySQL下建议关闭 个人建议如果想用SQL防火墙 建议打开

pool-prepared-statements: true

max-pool-prepared-statement-per-connection-size: 20

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

filter:

stat:

merge-sql: true

slow-sql-millis: 5000

#3.基础监控配置

web-stat-filter:

enabled: true

url-pattern: /*

#设置不统计哪些URL

exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"

session-stat-enable: true

session-stat-max-count: 100

stat-view-servlet:

enabled: true

url-pattern: /druid/*

reset-enable: true

#设置监控页面的登录名和密码

login-username: admin

login-password: admin

allow: 127.0.0.1


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python中的序列(sequence)
下一篇:python数组array.array(python数组长度用size还是length)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~