二.四 指定类型 type 配置连接池
为了与以前的数据库配置信息保持一致,一般不采用 二.二 的配置方式,而是在 datasource目录下,通过指定 type 来指定使用哪一个连接池
# 引入 数据库的相关配置 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/springboot?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true username: root password: abc123 type: com.alibaba.druid.pool.DruidDataSource
启动项目,查看控制台信息
使用的是 alibaba的 druid 数据库连接池。
三. Druid 数据库连接池的详细配置
三.一 数据库连接池信息的配置
# 引入 数据库的相关配置 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/springboot?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true username: root password: abc123 type: com.alibaba.druid.pool.DruidDataSource #配置连接池的相关的信息 druid: # 初始化大小 initial-size: 5 # 最小连接数 min-idle: 10 # 最大连接数 max-active: 20 # 获取连接时的最大等待时间 max-wait: 60000 # 一个连接在池中最小生存的时间,单位是毫秒 min-evictable-idle-time-millis: 300000 # 多久才进行一次检测需要关闭的空闲连接,单位是毫秒 time-between-eviction-runs-millis: 60000 # 检测连接是否有效的 SQL语句,为空时以下三个配置均无效 validation-query: SELECT 1 # 申请连接时执行validationQuery检测连接是否有效,默认true,开启后会降低性能 test-on-borrow: true # 归还连接时执行validationQuery检测连接是否有效,默认false,开启后会降低性能 test-on-return: true # 申请连接时如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效,默认false,建议开启,不影响性能 test-while-idle: true
三.二 配置扩展插件
# 配置扩展插件:stat-监控统计,log4j-日志,wall-防火墙(防止SQL注入),去掉后,监控界面的sql无法统计 filters: stat,wall,log4j2
三.三 配置监控
pom.xml 中添加依赖 spring-boot-starter-aop
<!--SpringBoot 的aop 模块--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>
# 配置监控,用,号隔开 aop-patterns: top.yueshushu.learn.mapper.*
可以控制mapper 下面的相关的接口信息。
三.四 配置登录的相关信息
# 配置登录相关信息 stat-view-servlet: # 是否开启 StatViewServlet enabled: true #配置访问网址 url-pattern: "/druid/*" # 访问监控页面 白名单,默认127.0.0.1 allow: 127.0.0.1 # 访问监控页面 黑名单,黑名单不能访问 deny: 192.168.100.148 # 访问监控页面 登陆账号 login-username: admin # 访问监控页面 登陆密码 login-password: admin # 是否可以重置数据源 reset-enable: true
三.五 配置 慢sql
#配置慢sql展示语句 slowSqlMillis 对应的是慢sql的时间 connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=10
三.六 配置监控
# 配置监控 web-stat-filter: exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*" enabled: true url-pattern: "/*"
详细的总配置为:
# 引入 数据库的相关配置 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/springboot?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowMultiQueries=true username: root password: abc123 type: com.alibaba.druid.pool.DruidDataSource #配置连接池的相关的信息 druid: # 初始化大小 initial-size: 5 # 最小连接数 min-idle: 10 # 最大连接数 max-active: 20 # 获取连接时的最大等待时间 max-wait: 60000 # 一个连接在池中最小生存的时间,单位是毫秒 min-evictable-idle-time-millis: 300000 # 多久才进行一次检测需要关闭的空闲连接,单位是毫秒 time-between-eviction-runs-millis: 60000 # 配置扩展插件:stat-监控统计,log4j-日志,wall-防火墙(防止SQL注入),去掉后,监控界面的sql无法统计 filters: stat,wall,log4j2 #配置慢sql展示语句 slowSqlMillis 对应的是慢sql的时间 connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=10 # 检测连接是否有效的 SQL语句,为空时以下三个配置均无效 validation-query: SELECT 1 # 申请连接时执行validationQuery检测连接是否有效,默认true,开启后会降低性能 test-on-borrow: true # 归还连接时执行validationQuery检测连接是否有效,默认false,开启后会降低性能 test-on-return: true # 申请连接时如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效,默认false,建议开启,不影响性能 test-while-idle: true # 配置监控,用,号隔开 aop-patterns: top.yueshushu.learn.mapper.* # 配置登录相关信息 stat-view-servlet: # 是否开启 StatViewServlet enabled: true #配置访问网址 url-pattern: "/druid/*" # 访问监控页面 白名单,默认127.0.0.1 allow: 127.0.0.1 # 访问监控页面 黑名单,黑名单不能访问 deny: 192.168.100.148 # 访问监控页面 登陆账号 login-username: admin # 访问监控页面 登陆密码 login-password: admin # 是否可以重置数据源 reset-enable: true # 配置监控 web-stat-filter: exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*" enabled: true url-pattern: "/*"