C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。
c3p0与dbcp区别
dbcp没有自动回收空闲连接的功能
c3p0有自动回收空闲连接功能
使用c3p0连接数据库步骤
1、创建一个Java项目,导入c3p0-0.9.1.jar包
这个包可以到网上去下载,如果使用过Hibernate框架,就肯定知道这个包,这个包在Hibernte框架中就存在的
2、创建一个工具类,当然这个工具类因个人喜好,建与不建随自己,为了方便管理,建议还是创建好些
接下来就直接进入代码
第一步就操作了,对有基础的来说不是什么难事
创建一个DbUtil工具类
package com.tenghu.combo.util;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.mchange.v2.c3p0.ComboPooledDataSource;
/**
* 数据库连接工具类
* @author xiaohu
*
*/
public class DbUtil {
//数据库连接
private static String url="jdbc:mysql://localhost:3306/work";
//数据库驱动
private static String driver="com.mysql.jdbc.Driver";
//数据库用户名
private static String username="root";
//密码
private static String password="xiaohu";
private ComboPooledDataSource cpds;
private static DbUtil db=new DbUtil();
public static DbUtil getInstance(){
return db;
}
private DbUtil(){
cpds=new ComboPooledDataSource();
try{
//设置驱动类
cpds.setDriverClass(driver);
//设置连接
cpds.setJdbcUrl(url);
//设置用户名
cpds.setUser(username);
//设置密码
cpds.setPassword(password);
//设置最小连接池个数
cpds.setMinPoolSize(5);
cpds.setAcquireIncrement(5);
cpds.setMaxPoolSize(30);
cpds.setMaxIdleTime(60);
}catch(Exception e){
e.printStackTrace();
}
}
//获取连接对象
public Connection getConn(){
try{
return cpds.getConnection();
}catch(Exception e){
e.printStackTrace();
}
return null;
}
//获取Statement对象
public Statement getStatement(Connection conn){
try {
return conn.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
//获取PreparedStatement对象
public PreparedStatement getPreparedStatement(Connection conn,String sql){
try {
return conn.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
//获取结果集
public ResultSet getResult(Statement st,String sql){
try {
return st.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public ResultSet getResult(PreparedStatement ps){
try {
return ps.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
//关闭对象
public void closeObject(Connection conn,Statement st,ResultSet rs){
try {
if(null!=rs)
rs.close();
if(null!=st)
st.close();
if(null!=conn)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
rs=null;
st=null;
conn=null;
}
}
//关闭对象
public void closeObject(Connection conn,PreparedStatement ps,ResultSet rs){
try {
if(null!=rs)
rs.close();
if(null!=ps)
ps.close();
if(null!=conn)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
rs=null;
ps=null;
conn=null;
}
}
}
在这个工具类我使用了Statement与PreparedStatement两个接口,为了以后方便使用,两个都用上,以后需要用那一个则调用那一个
至于这两个接口的区别,就不多说了,在学习JDBC的时候应该就了解过了
分享到:
相关推荐
在这个场景中,我们将深入探讨如何使用C3P0连接池来与MySQL数据库进行交互,并结合log4j进行日志记录。 首先,要使用C3P0,你需要在项目中引入相应的依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```...
C3P0数据库连接池和jar包,因为jdbc没有保持连接的能力,一旦超过一定时间没有使用(大约几百毫秒),连接就会被自动释放掉。而每次新建连接都需要140毫秒左右的时间,所以耗费时间比较多。若使用C3P0连接池来池化...
Java C3P0连接MySQL数据库提供了高效且灵活的数据库连接管理方式,通过合理的配置和使用,可以有效提升应用的性能和资源利用率。在实际开发中,应根据项目需求和环境进行适当的配置优化,以达到最佳效果。
jdbc使用c3p0连接池连接数据库,支持配置多个数据源,有相关的查询测试。
java中c3p0数据库连接池使用方法(c3p0-config.xml+c3p0-0.9.2-pre1.jar+JdbcPool_c3p0.java),里面包含了c3p0-0.9.2-pre1.jar、以及配置文件:c3p0-config.xml、以及一个c3p0数据库连接池工具类(只有简单的两个方法...
C3P0是一个开源的Java数据库连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接池扮演着非常重要的角色,它能够有效地管理数据库连接,提高系统性能,减少数据库资源...
java语言连接Mysql数据库。通过Eclipse集成开发工具,编写java类文件,实现JDBC连接。 通过c3p0连接数据库的三种方法,包括xml文件、properties文件。
在使用C3P0连接数据库时,你需要做以下几步: 1. 添加依赖:确保你的项目中包含了C3P0的库文件。如果你使用的是Maven,可以在pom.xml文件中添加如下依赖: ```xml <groupId>com.mchange</groupId> <artifactId>...
7. 数据库连接池的原理:c3p0使用ComboPooledDataSource对象管理数据库连接池,ComboPooledDataSource对象可以根据需要动态地增加或减少数据库连接数,实现数据库连接池的自动管理。 8. 使用c3p0的注意事项:使用c3...
总的来说,c3p0数据库连接池案例提供了一个完整的示例,涵盖了从配置到使用的全过程,有助于加深对数据库连接池概念的理解,并提升你在Java项目中的数据库管理能力。通过实践这个案例,你可以掌握如何更高效、更稳定...
总的来说,C3P0作为一款成熟的数据库连接池,对于Java开发者来说,是一个值得信赖的工具,可以帮助我们更有效地管理和使用数据库连接,提升应用程序的性能和可靠性。在实际项目中,根据具体需求合理配置C3P0,可以更...
C3P0是一个开源的Java数据库连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接池扮演着非常重要的角色,它能够有效地管理数据库连接,提高系统性能,减少数据库资源...
**c3p0数据库连接池**是Java后端开发中常用的一个开源的数据库连接池组件,主要用于管理和优化数据库连接。它的全称是ComMchange V3 Pooled Database Connections,由Maurice Priess创建,旨在提供一个高效、灵活且...
本实例将详细介绍如何使用C3P0连接池来连接数据库,以及所需的配置和使用步骤。 首先,我们需要理解数据库连接池的基本概念。数据库连接池是在应用服务器启动时预创建一定数量的数据库连接,然后在应用运行过程中,...
**c3p0数据库连接池**是Java应用中广泛使用的第三方数据库连接管理工具,它能够有效地管理和优化数据库连接,提高应用程序的性能和效率。c3p0库通过提供连接池功能,使得数据库连接可以被多个并发请求共享,避免了...
C3P0连接池是Java应用中常用的数据库连接池组件,它允许程序在不关闭物理连接的情况下,管理和重用数据库连接,从而提高了应用程序的性能和效率。C3P0库依赖于其他几个JAR包来实现其功能,包括`c3p0-0.9.2.1.jar`、`...
C3P0连接池在Java中的使用是一种优化数据库性能的重要技术。C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。理解并熟练掌握C3P0的使用能够帮助开发者更有效地管理数据库...
- **连接数据库**:使用`java.sql.DriverManager`类的`getConnection()`方法建立与MySQL数据库的连接。连接字符串包含数据库URL、用户名和密码。 ```java String url = "jdbc:mysql://localhost:3306/your_...