赞
踩
Springboot 项目启动之后,我们可以通过Springboot 的application.yml文件来配置数据库连接池等各种各样的属性
先看下这个配置文件是怎么写的(主要是关于数据库连接的)
前言: DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池(据说是目前最好的连接池,不知道速度有没有BoneCP快)。
- server:
- port: 8080
- spring:
- datasource:
- type: com.alibaba.druid.pool.DruidDataSource
- druid:
- driver-class-name: com.mysql.jdbc.Driver
- url: jdbc:mysql://localhost:3306/vcd?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
- username: root
- password: 123456
- max-active: 30
- min-idle: 5
- validation-query: SELECT 1 FROM DUAL
- max-wait: 10000
- min-evictable-idle-time-millis: 30000
- testWhileIdle: true
- testOnBorrow: false
- testOnReturn: false
- poolPreparedStatements: true
- maxPoolPreparedStatementPerConnectionSize: 20
- filters: stat,wall,log4j2
- connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
- web-stat-filter:
- enabled: true
- url-pattern: "/*"
- exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
- stat-view-servlet:
- url-pattern: "/druid/*"
- allow: 0.0.0.0
- reset-enable: false
- login-username: admin
- login-password: admin
-
- thymeleaf:
- cache: false # 开发时关闭缓存,不然没法看到实时页面
- mode: LEGACYHTML5 # 用非严格的 HTML
- servlet:
- content-type: text/html

- server:
- port:8080
- spring:
- datasource:
- type: com.alibaba.druid.pool.DruidDataSource
- druid:
- driver-class-name: com.mysql.jdbc.Driver
- url: jdbc:mysql://localhost:3306/vcd?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
- username: root
- password: 123456
- max-active: 30
- min-idle: 5
- validation-query: SELECT 1 FROM DUAL
- max-wait: 10000
- min-evictable-idle-time-millis: 30000
max-active 设置最大数据库连接数,设为0为无限制
min-idle 始终保留在池中的最小连接数,如果连接验证失败将缩小至此值
validation-query validationQuery是用来验证数据库连接的查询语句,这个查询语句必须是至少返回一条数据的SELECT语句
(这里的validation-query是 mysql中的写法,这个是固定的写法)
max-wait 最大等待时间
min-evictable-idle-time-millis:连接在池中保持空闲而不被回收的最小时间(毫秒)
- testWhileIdle: true
- testOnBorrow: false
- testOnReturn: false
- poolPreparedStatements: true
- maxPoolPreparedStatementPerConnectionSize: 20
testWhileIdle 对池中空闲的连接是否进行验证,验证失败则回收此连接(默认为false)
testOnBorrow 当从连接池中取出一个连接时是否进行验证,若验证失败则从池中删除该连接并尝试取出另一个连接
testOnReturn 当一个连接使用完归还到连接池时是否进行验证
poolPreparedStatements 启用游标缓存,这个对数据库的性能提升很大
maxPoolPreparedStatementPerConnectionSize 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。在Druid中,不会存在Oracle下PSCache占用内存过多的问题,可以把这个数值配置大一些,比如说100
属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有:
监控统计用的filter:stat日志用的filter:log4j防御sql注入的filter:wall
- filters: stat,wall,log4j2
- connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
- web-stat-filter:
- enabled: true
- url-pattern: "/*"
- exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
- stat-view-servlet:
- url-pattern: "/druid/*"
- allow: 0.0.0.0
- reset-enable: false
- login-username: admin
- login-password: admin
filters: 属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有,监控统计用的filter:stat,日志用的filter:log4j ,防御sql注入的filter:wall
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。