暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SpringBoot2学习笔记-集成连接池

CodeWu 2019-03-27
523

在maven中添加对应的依赖,本文采用引入starter包的方式引入依赖


在SpringBoot应用程序配置文件application.properties中添加数据库连接及数据源的相关配置信息。

使用DBCP连接池相关配置

#数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_demo?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=WU830118

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

#数据库连接池配置
#连接池类型
#DBCP

spring.datasource.type=org.apache.commons.dbcp2.BasicDataSource

#DBCP连接池最大等待连接数,0为无限制

spring.datasource.dbcp2.max-idle=10

#DBCP连接池最大连接活动数,0为无限制

spring.datasource.dbcp2.max-total=50

#DBCP连接池最大等待毫秒数

spring.datasource.dbcp2.max-wait-millis=10000

#DBCP连接池初始化连接数

spring.datasource.dbcp2.initial-size=5


使用Druid连接池相关配置

#Druid连接池配置
spring.datasource.druid.username=root
spring.datasource.druid.password=WU830118
spring.datasource.druid.url=jdbc:mysql://localhost:3306/mybatis_demo?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8
spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver

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

#初始化连接数

spring.datasource.druid.initial-size=5

#最小等待数

spring.datasource.druid.min-idle=5

#最大连接数

spring.datasource.druid.max-active=20

#最大等待时间,单位毫秒

spring.datasource.druid.max-wait=10000

#执行连接检测间隔时间,同时也作为testWhileIdel执行的依据,单位毫秒

spring.datasource.druid.time-between-eviction-runs-millis=60000

#申请连接检测,如果连接时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效

spring.datasource.druid.test-while-idle=true

#检测连接是否有效,必须为查询语句(oracle为select 1 from DUAL)

spring.datasource.druid.validation-query=select 'x'

#申请连接时会检测连接是否有效(validationQuery),开启会降低性能,默认true

spring.datasource.druid.test-on-borrow=false

#归还连接时检测连接是否有效(validationQuery),开启会降低性能,默认true

spring.datasource.druid.test-on-return=false

#数据库抛出不可恢复异常,抛弃该连接
spring.datasource.druid.exception-sorter=true
#开启预编译缓存
spring.datasource.druid.pool-prepared-statements=true

#每个数据库连接上预编译缓存大小,大于0自动开启预编译缓存(poolProparedStatements自动设置为true)

spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20

#配置监控统计拦截过滤器,去掉监控界面SQL无法统计

spring.datasource.druid.filters=stat,wall

#通过connectionProperties属性打开mergeSql功能,慢SQL记录

spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
#合并多个DruidDataSource的监控数据

spring.datasource.druid.use-global-data-source-stat=true

#配置访问Druid监控页的账号和密码(默认无)

spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=admin


Druid监控统计拦截过滤器包含如下配置内容

别名类名
作用
statcom.alibaba.druid.filter.stat.StatFilter统计监控信息
mergeStatcom.alibaba.druid.filter.stat.MergeStatFilterSQL统计merge功能
encodingcom.alibaba.druid.filter.encoding.EncodingConvertFilter提供编码转换功能
log4jcom.alibaba.druid.filter.logging.Log4jFilter输出日志信息
log4j2
com.alibaba.druid.filter.logging.Log4j2Filter
slf4j
com.alibaba.druid.filter.logging.Slf4jLogFilter
commonlogging
com.alibaba.druid.filter.logging.CommonsLogFilter
wall
com.alibaba.druid.wall.WallFilter防止SQL注入


在使用Druid的过程中,不引用spring-jdbc依赖,将抛出如下异常

,提示找不到org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType类,添加spring-jdbc引用后运行正常。

此处输入在属性文件中配置的

spring.datasource.druid.stat-view-servlet.login-username

spring.datasource.druid.stat-view-servlet.login-password

对应的值,登录druid控制台成功。



文章转载自CodeWu,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论