关于C3P0在非web项目下如何使用!

titua2 2010-01-12 03:22:33
传统的数据库连接池需要在tomcat或MET-INF中配置数据库连接池信息。

我现在的程序并非使用web项目,所以不会涉及tomcat和MET-INF。。。那怎么实现数据库连接池呢?

我想应该是c3p0了,但JAVA中使用c3p0后,貌似不能实现连接池功能吧。。。毕竟一旦一个java程序执行完成后,程序中创建的对象也就要销毁啊。。。那c3p0的配置不就没意义。。。因为java程序可不会像tomcat一样一直运行啊。。。

求大虾讲解。。。

...全文
370 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazylaa 2010-01-13
  • 打赏
  • 举报
回复
自己写一个呗,又不难的
  • 打赏
  • 举报
回复
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;

import org.apache.log4j.Logger;
import com.mchange.v2.c3p0.ComboPooledDataSource;

public class ConnectionManager {

private final static Logger LOG = Logger.getLogger(ConnectionManager.class);

private static ComboPooledDataSource ds = new ComboPooledDataSource();

private ConnectionManager() {

}

static {
try {
if(LOG.isDebugEnabled()) {
LOG.debug("正在初始化数据连接池");
}
Config config = Config.getInstance();
ds.setDriverClass(config.getJdbcDriver());
ds.setJdbcUrl(config.getJdbcUrl());
ds.setUser(config.getDatabaseUsername());
ds.setPassword(config.getDatabasePassword());
ds.setMaxPoolSize(config.getDatabasePoolMaxSize());
ds.setMinPoolSize(config.getDatabasePoolMinSize());
if(LOG.isDebugEnabled()) {
LOG.debug("数据连接池初始化完成" +
", 最大可用连接数:" +ds.getMaxPoolSize() +
", 最小连接数:" + ds.getMinPoolSize());
}
} catch (PropertyVetoException e) {
LOG.error("连接池初始化失败,原因:" + e.getMessage());
e.printStackTrace();
}
}

public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
}
wenjjing2lianee 2010-01-12
  • 打赏
  • 举报
回复
c3p0-0.9.1.2数据库连接池
是一个开放源代码的JDBC数据源实现项目,它在lib目录中与Hibernate一起发布,实现了JDBC3和JDBC2扩展规范说明的Connection和Statement池.
C3PO类包位于<附件中/lib/c3p0/c3p0-0.9.1.2.jar>,配置Oracle数据源:
如本文:
http://hi.baidu.com/yuxuelulu/blog/item/328f21f411da042cbc3109b1.html
子龙奶爸 2010-01-12
  • 打赏
  • 举报
回复
连接池确实不用tomcat什么的就不会用,学习
SambaGao 2010-01-12
  • 打赏
  • 举报
回复
Memcached 缓存机制
hibernate c3po
spring dbcp

还有分布式 c-jdbc

Hibernate也支持Proxool连接池,性能与DBCP不相上下
Java数据库连接池 BoneCP

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧