springboot2 & Druid,& Hikaricp

springboot2 & Druid====================================

参考 springboot2.0配置连接池(hikari、druid)

Druid 是阿里推出的 可以监控的 一个数据库连接池。在Springboot2中使用方法如下

1.引入依赖

<!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.10</version>
</dependency>

版本太高,访问http://localhost:8080/druid可能会导致404 

2.在application.properties文件 配置Druid 

配置可以参考官网 https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

#jdbc config datasource
spring.datasource.url= your url
spring.datasource.username= your username
spring.datasource.password= your password
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

#jpa config
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
#spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults: false
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=update
#spring.jpa.show-sql=true

#druid config 
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.maxActive=20
spring.datasource.druid.maxWait=60000
spring.datasource.druid.timeBetweenEvictionRunsMillis=60000
spring.datasource.druid.minEvictableIdleTimeMillis=300000
spring.datasource.druid.validationQuery=SELECT 1 FROM DUAL
spring.datasource.druid.testWhileIdle=true
spring.datasource.druid.testOnBorrow=false
spring.datasource.druid.testOnReturn=false
spring.datasource.druid.poolPreparedStatements=true
spring.datasource.druid.maxPoolPreparedStatementPerConnectionSize=20
spring.datasource.druid.filters=stat,wall,slf4j
spring.datasource.druid.connectionProperties=druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
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,*.bmp,*.png,*.css,*.ico,/druid/*
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
spring.datasource.druid.stat-view-servlet.allow=127.0.0.1,192.168.163.1
spring.datasource.druid.stat-view-servlet.deny=192.168.1.73
spring.datasource.druid.stat-view-servlet.reset-enable=false
spring.datasource.druid.stat-view-servlet.login-username=admin
spring.datasource.druid.stat-view-servlet.login-password=123456

3.启动应用程序 ,访问http://localhost:8080/druid  可以看到

 

 

 

springboot2 & Hikaricp===================================

参考 Springboot 2.0选择HikariCP作为默认数据库连接池的五大理由 

主流Java数据库连接池比较及前瞻

https://github.com/brettwooldridge/HikariCP

Hikaricp连接池问题

Springboot2 默认使用 Hikaricp作为数据库连接池,引用parents后不用专门加依赖。直接配置就可以使用

#jdbc config datasource
spring.datasource.url= your url
spring.datasource.username= your username
spring.datasource.password= your password
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

#jpa config
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
#spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults: false
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=update
#spring.jpa.show-sql=true

# Hikari will use the above plus the following to setup connection pooling
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
#最小空闲连接数
spring.datasource.hikari.minimum-idle=20
spring.datasource.hikari.maximum-pool-size=600
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.pool-name=DatebookHikariCP
#连接生命周期maxLifetime,低于数据库超时时长,尽快释放数据库无效连接.maxLifetime如果大于数据库超时时长,就会抛出数据库连接异常
spring.datasource.hikari.max-lifetime=1200000
#连接空闲时间 idleTimeout只有在minimumIdle设置为小于maximumPoolSize的情况下才生效
spring.datasource.hikari.idle-timeout=60000
spring.datasource.hikari.connection-timeout=600000
spring.datasource.hikari.connection-test-query=SELECT 1 from dual

 

 

posted on 2020-06-11 15:44  dreamstar  阅读(104)  评论(0)    收藏  举报