Springboot中加入druid连接池
yhntgbv 人气:01.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.配置依赖
<!-- Druid依赖 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.8</version> </dependency> <!-- log4j 不加此依赖Druid的filters拦截会报错 在properties配置文件中filters中有体现 --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
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
加载全部内容