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提供了更加简洁的方式,需要参数官方文档。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/15415.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论