`
webdev2014
  • 浏览: 711566 次
文章分类
社区版块
存档分类
最新评论

java使用c3p0连接数据库

 
阅读更多

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使用C3P0连接MySQL数据库查询

    在这个场景中,我们将深入探讨如何使用C3P0连接池来与MySQL数据库进行交互,并结合log4j进行日志记录。 首先,要使用C3P0,你需要在项目中引入相应的依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```...

    C3P0数据库连接池

    C3P0数据库连接池和jar包,因为jdbc没有保持连接的能力,一旦超过一定时间没有使用(大约几百毫秒),连接就会被自动释放掉。而每次新建连接都需要140毫秒左右的时间,所以耗费时间比较多。若使用C3P0连接池来池化...

    java c3p0连接mysql数据库

    Java C3P0连接MySQL数据库提供了高效且灵活的数据库连接管理方式,通过合理的配置和使用,可以有效提升应用的性能和资源利用率。在实际开发中,应根据项目需求和环境进行适当的配置优化,以达到最佳效果。

    jdbc使用c3p0连接池连接数据库的工具类

    jdbc使用c3p0连接池连接数据库,支持配置多个数据源,有相关的查询测试。

    java中c3p0数据库连接池使用方法(c3p0-config.xml+c3p0-0.9.2-pre1.jar+JdbcPool_c3p0.java)

    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数据库连接池所需jar包

    C3P0是一个开源的Java数据库连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接池扮演着非常重要的角色,它能够有效地管理数据库连接,提高系统性能,减少数据库资源...

    JDBC连接MySQL数据库,c3p0连接数据库

    java语言连接Mysql数据库。通过Eclipse集成开发工具,编写java类文件,实现JDBC连接。 通过c3p0连接数据库的三种方法,包括xml文件、properties文件。

    c3p0连接数据库及jndi链接例子

    在使用C3P0连接数据库时,你需要做以下几步: 1. 添加依赖:确保你的项目中包含了C3P0的库文件。如果你使用的是Maven,可以在pom.xml文件中添加如下依赖: ```xml <groupId>com.mchange</groupId> <artifactId>...

    使用c3p0连接数据库实现增删改查

    7. 数据库连接池的原理:c3p0使用ComboPooledDataSource对象管理数据库连接池,ComboPooledDataSource对象可以根据需要动态地增加或减少数据库连接数,实现数据库连接池的自动管理。 8. 使用c3p0的注意事项:使用c3...

    c3p0数据库连接池案例

    总的来说,c3p0数据库连接池案例提供了一个完整的示例,涵盖了从配置到使用的全过程,有助于加深对数据库连接池概念的理解,并提升你在Java项目中的数据库管理能力。通过实践这个案例,你可以掌握如何更高效、更稳定...

    数据库连接池c3p0jar包

    总的来说,C3P0作为一款成熟的数据库连接池,对于Java开发者来说,是一个值得信赖的工具,可以帮助我们更有效地管理和使用数据库连接,提升应用程序的性能和可靠性。在实际项目中,根据具体需求合理配置C3P0,可以更...

    C3P0连接池jar包(正式).zip

    C3P0是一个开源的Java数据库连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接池扮演着非常重要的角色,它能够有效地管理数据库连接,提高系统性能,减少数据库资源...

    c3p0数据库连接池

    **c3p0数据库连接池**是Java后端开发中常用的一个开源的数据库连接池组件,主要用于管理和优化数据库连接。它的全称是ComMchange V3 Pooled Database Connections,由Maurice Priess创建,旨在提供一个高效、灵活且...

    c3p0连接池连接数据库实例

    本实例将详细介绍如何使用C3P0连接池来连接数据库,以及所需的配置和使用步骤。 首先,我们需要理解数据库连接池的基本概念。数据库连接池是在应用服务器启动时预创建一定数量的数据库连接,然后在应用运行过程中,...

    c3p0数据库连接池示例

    **c3p0数据库连接池**是Java应用中广泛使用的第三方数据库连接管理工具,它能够有效地管理和优化数据库连接,提高应用程序的性能和效率。c3p0库通过提供连接池功能,使得数据库连接可以被多个并发请求共享,避免了...

    C3P0连接池配置需要的jar包

    C3P0连接池是Java应用中常用的数据库连接池组件,它允许程序在不关闭物理连接的情况下,管理和重用数据库连接,从而提高了应用程序的性能和效率。C3P0库依赖于其他几个JAR包来实现其功能,包括`c3p0-0.9.2.1.jar`、`...

    C3P0连接池在JAVA中的使用

    C3P0连接池在Java中的使用是一种优化数据库性能的重要技术。C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。理解并熟练掌握C3P0的使用能够帮助开发者更有效地管理数据库...

    Java Jdbc mysql数据库连接驱动和c3p0 jar包极其配置文件

    - **连接数据库**:使用`java.sql.DriverManager`类的`getConnection()`方法建立与MySQL数据库的连接。连接字符串包含数据库URL、用户名和密码。 ```java String url = "jdbc:mysql://localhost:3306/your_...

Global site tag (gtag.js) - Google Analytics