• 欢迎来到本博客,希望可以y一起学习与分享

开源数据库连接池—-c3p0连接池

Java benz 3年前 (2018-02-04) 126次浏览 0个评论 扫描二维码
文章目录[隐藏]

C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。使用c3p0连接池需要导入jar包,同时还需要添加配置文件c3p0-config.xml。

一、创建配置文件

  1. 配置文件名称:c3p0-config.xml(固定,必须这样)
  2. 配置文件位置:src
  3. 配置文件内容:命名配置

c3p0-config.xml配置文件如下:

常见的配置项

分类 属性 描述
 

必须项

user 用户名
password 密码
driverClass 驱动

mysql驱动,com.mysql.jdbc.Driver

jdbcUrl 路径

mysql路径,jdbc:mysql://localhost:3306/数据库

 

 

 

 

 

 

基本配置

acquireIncrement 连接池无空闲连接可用时,一次性创建的新连接数

默认值:3

initialPoolSize 连接池初始化时创建的连接数

默认值:3

maxPoolSize 连接池中拥有的最大连接数

默认值:15

minPoolSize 连接池中保持的最小连接数
maxIdleTime 连接的最大空闲时间。如果超过这个时间,某个数据库连接还没被使用,则会断开掉这个连接,如果为0,则永远不会断开连接。

默认值:0

管理连接池的大小和连接的生存时间(扩展) maxConnectionAge 配置连接的生存时间,超过这个时间的连接将由连接池自动断开丢弃掉。当然,正在使用的连接不会马上断开,而是等待它close()掉,再断开。配置为0的时候,则不会对连接的生存时间进行限制。

默认值:0

maxIdleTimeExcessConnections 这个配置主要是减轻连接池的负载,配置不为0,则会将连接池中的连接数量保持到minPoolSize,为0则不处理。
配置PreparedStatement缓存(扩展) maxStatements 连接池为数据源缓存的PreparedStatement的总数。由于PreparedStatement属于单个Connection,所以这个数量应该根据应用中平均连接数乘以每个连接的平均PreparedStatement来计算。为0的时候不缓存,同时maxStatementsPerConnection的配置无效。
maxStatementsPerConnection 连接池为数据源单个Connection缓存的PreparedStatement数,这个配置比maxStatements更有意义,因为它缓存的服务对象是单个数据连接,如果设置的好,肯定是可以提高性能的。为0的时候不缓存。

二、c3p0的简单创建

三、编写c3p0工具类

工具类:

c3p0工具类的使用


文章 开源数据库连接池—-c3p0连接池 转载需要注明出处
喜欢 (0)

您必须 登录 才能发表评论!