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的时候应该就了解过了
分享到:
相关推荐
Java连接MySQL数据库查询。 使用C3P0连接池查询数据库,用log4j做日志。
java c3p0连接mysql数据库 java c3p0连接mysql数据库 java c3p0连接mysql数据库 可以直接运行
C3P0数据库连接池和jar包,因为jdbc没有保持连接的能力,一旦超过一定时间没有使用(大约几百毫秒),连接就会被自动释放掉。而每次新建连接都需要140毫秒左右的时间,所以耗费时间比较多。若使用C3P0连接池来池化...
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数据库连接池工具类(只有简单的两个方法...
java语言连接Mysql数据库。通过Eclipse集成开发工具,编写java类文件,实现JDBC连接。 通过c3p0连接数据库的三种方法,包括xml文件、properties文件。
c3p0数据库连接池案例,java项目,例子结构清晰,适合新手学习
C3P0是一个开放源代码的JDBC连接池,Hibernate的发行包中默认使用此连接池。据说性能最好。 C3p0连接池连接数据库教程+JavaDemoo Demo包括两个,一个代码配置方法,一个是XML配置方法
java开发,数据库连接池c3p0所需jar包。
基于java的开发源码-数据库连接池 C3P0.src.zip 基于java的开发源码-数据库连接池 C3P0.src.zip 基于java的开发源码-数据库连接池 C3P0.src.zip 基于java的开发源码-数据库连接池 C3P0.src.zip 基于java的开发源码-...
c3p0数据库连接池jar包,可用于java后端开发的数据库连接
DataSourceUtils.java c3p0数据库连接
c3p0数据库连接池jar包配置文件及依赖
java 数据库连接池 c3p0 使用及参数详解,支持重连 标签:c3p0 支持重连 参数详解 it 分类:java技术文章 //数据库连接池 单例模式 import java.sql.Connection; import java.sql.SQLException; import ...
最新 c3p0 java 数据库 连接池
这是c3p0-0.9.5.2(含配文件)连接池技术的资源,里面含c3p0-0.9.5.2.jar包,这是c3p0数据库连接池的jar包,mchange-commons-java-0.2.11.jar是数据库连接池的依赖包,导入时,要一同导入,否则会产生错误。...
C3P0:数据库连接池技术 步骤: 1.导入jar包 c3p0-0.9.5.2.jar mchange-commons-java-0.2.12.jar 2.定义配置文件 名称:c3p0.properties 或者 c3p0-config.xml 路径:直接将文件放在src目录下即可 3.创建数据库连接池...
适用于mysql8,数据库连接池c3p0,亲测适用。
C3P0 数据库连接池 管理类 驱动包 只要在DBManager.java内加上自己的oracle地址和用户名密码即可,如果是用别的数据库,则把相应的数据库连接地址改改就成