`
tntxia
  • 浏览: 1506893 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

c3p0入门

阅读更多

一、什么是C3P0

      C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。

 

二、下载及使用

     最新的版本可以在这个网址:http://sourceforge.net/projects/c3p0/ 下载,本文为此,最新版本为0.9.1.2,使用方法非常简单,只要把lib文件夹中的c3p0-0.9.1.2.jar文件放在你的第三方包引用路径中就行了。

     然后我们编写一个类,作为连接池。

    

import java.beans.PropertyVetoException;
import java.sql.Connection;
import com.mchange.v2.c3p0.ComboPooledDataSource;

/**
 * 数据库连接池
 * 
 * @author tntxia
 * 
 */
public class Connections {

	/**
	 * 数据库连接池 使用C3P0数据库连接池 避免大量的数据库连接影响数据库性能
	 */
	private static ComboPooledDataSource ds = new ComboPooledDataSource();
	/**
	 * 数据库连接池初始化
	 */
	static {
		ds.setJdbcUrl("jdbc:mysql://localhost:3306/puzzle");
		ds.setUser("root");
		ds.setPassword("root");
		ds.setAcquireIncrement(15);
		ds.setInitialPoolSize(20);
		ds.setMinPoolSize(10);
		ds.setMaxPoolSize(500);
		ds.setAcquireRetryAttempts(5);
		ds.setMaxIdleTime(10);
		ds.setCheckoutTimeout(5000);

		try {
			ds.setDriverClass("com.mysql.jdbc.Driver");
		} catch (PropertyVetoException e) {

		}
		ds.setMaxStatements(0);
	}
	public static Connection getConnection() {
		Connection conn = null;
		try {
			conn = ds.getConnection();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return conn;
	}
}

 

      这样,我们不再每次都去生成一个数据库连接,而是Connections.getConnection()方法,从连接池里面获取一个数据库链接,避免了生成数据库链接,而且还可以重复使用一些数据库连接。

 

      注意:c3p0使用了JDBC 2 的规范,有一个数据库的驱动没有完成JDBC 2的规范,所以在使用时会提示错误,一般功能的使用不会受到影响。

1
0
分享到:
评论

相关推荐

    javaWeb入门jar(BeanUtils C3p0 DBCP DButils dom4j JDBC jstl)

    2. **C3p0**:C3p0是一个开源的JDBC连接池,用于管理数据库连接。它可以提高数据库操作的性能,通过复用已存在的连接而非每次请求都创建新的连接。C3p0提供了自动测试连接、空闲连接回收、连接池大小控制等功能,...

    配置C3P0连接池.zip

    使用spring管理的方式,用XML文件配置C3P0连接池。本博客https://blog.csdn.net/qq_40634846有从零基础入门的Spring,有兴趣的小伙伴可关注本博客。希望对大家有帮助

    java登录、注册案例(servlet+mysql+tomcat8+C3P0Pool).doc

    Java登录和注册系统是Web应用开发中的基础模块,本案例主要使用了Servlet、MySQL数据库、Tomcat8服务器以及C3P0连接池进行实现。以下将详细解释这些关键组件及其在系统中的作用。 1. **数据库设计**: 数据库采用...

    C3P00921JAR.rar

    2. "使用说明.txt" - 这应该是C3P0的使用手册或快速入门指南,详细解释了如何在代码中初始化和使用C3P0连接池。内容可能包括如何创建`ComboPooledDataSource`对象,设置配置参数(如最大连接数、测试SQL语句等),...

    JDBC中C3p0连接池使用方法 (个人总结综合教程,适合新入门的朋友阅读)

    JDBC中C3p0连接池使用方法 (个人总结综合教程,适合新入门的朋友阅读)

    c3p0-demo:原始文件详解系列(五)------ C3P0的使用和分析(包括JNDI)

    本文将包含以下内容(因为篇幅范围,可根据需要选择阅读): c3p0的使用方法(入门案例, JDNI使用) c3p0的配置参数详解c3p0主要源码分析使用示例-入门需求使用C3P0连接池获取连接对象,对用户数据进行简单的增删改...

    JDBC连接数据库,包含DBCP、C3P0连接池,慕课网实例的源码

    Java JDBC基本入门知识,带增删改查例子,支持MySql数据库,包含事务管理,返回数据格式有类对象和List集合格式。有利于初学者理解Java是怎么连接和操作数据库的,也是慕课网中 JDBC之对面女孩走过来的实例源码,亲...

    JMX入门教程

    ### JMX入门教程详解 #### 一、JMX概述与价值 JMX(Java Management Extensions)是一种用于管理和监控Java应用程序的标准框架。通过JMX,开发者可以轻松地在Java应用程序中集成管理和监控的功能,从而实现对应用...

    《SpringMVC从入门到精通》基础包

    《SpringMVC从入门到精通》基础包,还包括jquery-3.2.1.min,c3p0-0.9.1.2, aspectjweaver,包含学习SpringMVC需要的所有基础包,如需要hibernate-validator可在我的其他资源里面下载

    jquery json java 入门示例

    在Web开发中,通常使用连接池管理数据库连接,C3P0就是一个常用的Java连接池库。通过配置C3P0,可以设置连接的最大最小数量、超时时间等,以优化数据库资源使用。例如,使用以下代码初始化C3P0连接池: ```java ...

    javaWEb快速入门项目--选课系统

    这个项目利用了jsp(JavaServer Pages)、servlet和MySQL数据库,以及第三方库DbUtils和C3P0数据连接池。下面将详细介绍这些关键知识点。 1. **JSP (JavaServer Pages)** JSP是Java的一个动态网页技术,允许开发者...

    一个SSH的入门完整例子

    描述中提到的"要在applicationContext.xml配置一下数据库连接",这意味着我们需要在Spring配置文件中定义DataSource,如使用Apache Commons DBCP或C3P0,设置数据库URL、用户名、密码等信息,以便Spring能够自动创建...

    Java的学习之路,学习JavaEE以及框架时候的一些项目,结合博客和源码,让你受益匪浅,适合Java初学者和刚入门开始学框架者

    [Database-support-package]-数据库需要用到的-c3p0/dbcp/dbUtils工具支持包 [Hibernate]利用Hibernate进行一对多的级联操作-Web实例 [Java_MySQL_jar]-数据库连接支持包 [JavaMail]-收发邮件支持包 [Java_MySQL...

    Java连接数据库-JDBC入门

    面对传统JDBC的优化,使用Apache-DbUtils以及德鲁伊,C3P0技术

    JDBC_Java反射技术入门

    - **数据库连接池**:如C3P0、DBCP、HikariCP等,使用反射初始化和管理数据库连接。 - **ORM框架**:Hibernate、MyBatis等,它们利用反射实现了对象与数据库之间的映射,简化数据库操作。 - **AOP(面向切面编程...

    JDBC 入门电子书.zip

    为了提高性能和资源利用率,开发中常使用连接池(如C3P0、HikariCP、DBCP)。连接池预先初始化一定数量的数据库连接,应用程序需要时可以从池中获取,用完后归还,避免了频繁创建和销毁连接的开销。 ### 六、JDBC与...

    JavaWeb开发从入门到实战课件PPT

    - 数据库连接池:如C3P0、Apache DBCP、HikariCP等,用于优化数据库资源的管理。 7. **会话管理**: - HttpSession接口:创建、获取、移除session,以及session的生命周期。 - Cookie的使用:持久化用户状态,跨...

    P89V51学习版

    该学习版提供了丰富的外设资源和接口,能够帮助用户快速入门并进行各种实验项目开发。 #### 二、核心组件介绍 **1. P89V51单片机** - **型号**: P89V51RB2FN - **简介**: P89V51是Philips公司(现NXP)推出的一款...

Global site tag (gtag.js) - Google Analytics