欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Springboot2.x 整合mybatis + Druid, 配置Druid数据源监控

程序员文章站 2022-07-07 11:26:26
...

1. 引入jar包 

<dependency>
   <groupId>org.mybatis.spring.boot</groupId>
   <artifactId>mybatis-spring-boot-starter</artifactId>
   <version>1.3.2</version>
</dependency>
<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-jdbc</artifactId> 
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>${springboot.druid.version}</version>
</dependency>
<!-- oracle -->
<dependency>
   <groupId>com.oracle</groupId>
   <artifactId>ojdbc6</artifactId>
   <version>${oracle.version}</version>
</dependency>

2. 配置application.properties

# mybatis 配置
mybatis.mapper-locations=classpath:common/mapper/**/*.xml
mybatis.type-aliases-package=com.essence.entity
# 使用列别名替换别名 默认true
mybatis.configuration.use-generated-keys= true
# 开启驼峰命名转换Table:create_time到 Entity(createTime)
mybatis.configuration.map-underscore-to-camel-case=true
#控制台打印SQL
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

##### jdbc配置
spring.datasource.name=licai
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=msdba.esseas)))
spring.datasource.username=root
spring.datasource.password=ENC(3MB2l4svgcD3i4ikj2+QSld53aE/ykMv)

##### datasource druid pool
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时
spring.datasource.druid.initial-size=10
#最大连接池数量
spring.datasource.druid.max-active=20
# 最小连接池数量
spring.datasource.druid.min-idle=8
# 配置获取连接等待超时的时间,毫秒
spring.datasource.druid.max-wait=60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
spring.datasource.druid.time-between-eviction-runs-millis=600000
# 指定一个空闲连接最少空闲多久后可被清除,单位是毫秒
spring.datasource.druid.min-evictable-idle-time-millis=300000
#用来检测连接是否有效的sql,要求是一个查询语句。
#如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会其作用
spring.datasource.druid.validation-query=SELECT 1 FROM DUAL
# 缺省false,建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
spring.datasource.druid.test-while-idle=true
# 缺省true,申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
spring.datasource.druid.test-on-borrow=false
# 缺省false,归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
spring.datasource.druid.test-on-return=false
# 配置拦截的filters,stat 监控统计,wall用于防火墙sql注入(所有伪代码会认为是sql注入,包括SQL多行单行注释),log4j 记录日志
spring.datasource.druid.filters= stat,wall
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.druid.connect-properties.=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
# 关闭自动重试(防止密码错误导致oracle登录重试导致账户锁定)
#spring.datasource.druid.connection-error-retry-attempts = 0
# 数据库服务宕机自动重连机制
#spring.datasource.druid.break-after-acquire-failure = true

#####druid监控配置
## WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter
#是否启用StatFilter默认值true
spring.datasource.druid.web-stat-filter.enabled=true
spring.datasource.druid.web-stat-filter.url-pattern=/*
spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
## StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
spring.datasource.druid.stat-view-servlet.enabled= true
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
spring.datasource.druid.stat-view-servlet.reset-enable=true
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=123456
spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
spring.datasource.druid.stat-view-servlet.deny=192.168.10.1

 

3. 启用项目访问localhost:8080/项目名称/druid,登录监控中心需要密码如上配置admin,123456代表就成功了!