springboot 使用c3p0數據庫連接池的方法


  使用springboot開發時,默認使用內置的tomcat數據庫連接池,經常碰到這種情況:運行時間一長,數據庫連接中斷了。所以使用c3p0連接池吧。

  引入的maven依賴:

<dependency>
      <groupId>c3p0</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.1.2</version>
</dependency>

  c3p0的配置信息,寫到application.properties配置文件中,需要注意的是,c3p0的數據庫用戶名是user不是username:

c3p0.jdbcUrl=jdbc:mysql://ip:port/dnname?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false
c3p0.user=${username}
c3p0.password=${password}
c3p0.driverClass=com.mysql.jdbc.Driver
c3p0.minPoolSize=2
c3p0.maxPoolSize=10
c3p0.maxIdleTime=1800000
c3p0.acquireIncrement=3
c3p0.maxStatements=1000
c3p0.initialPoolSize=3
c3p0.idleConnectionTestPeriod=60
c3p0.acquireRetryAttempts=30
c3p0.acquireRetryDelay=1000
c3p0.breakAfterAcquireFailure=false
c3p0.testConnectionOnCheckout=false

  springboot配置c3p0數據源datasource:

 1 @Configuration
 2 public class DatasourceConfiguration {
 3 
 4     @Bean(name = "dataSource")
 5     @Qualifier(value = "dataSource")
 6     @Primary
 7     @ConfigurationProperties(prefix = "c3p0")
 8     public DataSource dataSource()
 9     {
10         return DataSourceBuilder.create().type(com.mchange.v2.c3p0.ComboPooledDataSource.class).build();
11     }
12 }

  對於其他的一些數據源也可使用類似方式,當然有些數據源springboot提供了更加簡潔的方式,需要參數官方文檔。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM