java缓存池_java 数据库缓冲池 使用c3p0

c3p0很容易使用的开源专业级jdbc数据库缓冲池。

它是sourceforge上的一个开源项目,

项目在 http://sourceforge.net/projects/c3p0

他的众多特性这里就不一一介绍了。

比较爽的一点就是

当Connection归还缓冲池时,c3p0会很小心的关闭

这条连接打开的Statement和ResultSet,免去了使用时

自己动手小心翼翼的关闭。

c3p0使用非常简单,这里给一个例子

package common.db;

import java.sql.Connection;

import java.sql.SQLException;

import java.util.Properties;

import com.mchange.v2.c3p0.ComboPooledDataSource;

import com.mchange.v2.c3p0.DataSources;

public final class ConnectionManager {

private static ConnectionManager instance;

public ComboPooledDataSource ds;

private static String

c3p0Properties="c3p0.properties";

private ConnectionManager() throws Exception

{

Properties p = new

Properties();

p.load(this.getClass().getResourceAsStream(c3p0Properties));

ds = new

ComboPooledDataSource();

}

public static final ConnectionManager

getInstance() {

if (instance == null) {

try {

instance

= new ConnectionManager();

} catch

(Exception e) {

e.printStackTrace();

}

}

return instance;

}

public synchronized final Connection

getConnection() {

try {

return

ds.getConnection();

} catch (SQLException e)

{

e.printStackTrace();

}

return null;

}

protected void finalize() throws Throwable

{

DataSources.destroy(ds); //关闭datasource

super.finalize();

}

}

然后在ConnectionManager类的目录下再创建一个配置文件c3p0.properties

内容如下:

#db login parameters

driverClass=com.mysql.jdbc.Driver

jdbcUrl=jdbc:mysql://localhost/test?useUnicode=no&characterEncoding=GBK

user=test

password=test

#pool parameters

initialPoolSize=2

maxPoolSize=5

#maxIdleTime=10

#idleConnectionTestPeriod=5

autoCommitOnClose=true

完整的配置文件参数参看c3p0的文档

使用connection时很简单

Connection conn =

ConnectionManager.getInstance().getConnection();

...

最后 conn.close() 即可,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值