码上快乐
1秒登录
首页
榜单
标签
关于
搜索
相关内容
简体
繁体
C3P0配置与使用
本文转载自
查看原文
2012-02-19 16:15
5204
Java Web
一、C3P0配置
1、使用xml方式(名称为c3p0-config.xml)
<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <default-config> <property name="jdbcUrl">jdbc:mysql://localhost:3306/tv_guide </property> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="user">root</property> <property name="password">root</property> <property name="checkoutTimeout">30000</property> <property name="idleConnectionTestPeriod">30</property> <property name="initialPoolSize">10</property> <property name="maxIdleTime">30</property> <property name="maxPoolSize">100</property> <property name="minPoolSize">10</property> <property name="maxStatements">200</property> </default-config> </c3p0-config>
2、使用properties方式(名称为c3p0.properties)
c3p0.jdbcUrl=jdbc:mysql://localhost:3306/tv_guide c3p0.driverClass=com.mysql.jdbc.Driver c3p0.user=root c3p0.password=root c3p0.acquireIncrement=3 c3p0.idleConnectionTestPeriod=60 c3p0.initialPoolSize=10 c3p0.maxIdleTime=60 c3p0.maxPoolSize=20 c3p0.maxStatements=100 c3p0.minPoolSize=5
使用这两种方式进行配置时,只要将配置好的文件放入classpath文件夹下即可,在java代码当中不用显示的给出访问配置方式的代码,c3p0会自动识别!
二、C3P0的使用
import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource; import com.mchange.v2.c3p0.ComboPooledDataSource; public class C3P0Utils { private static DataSource ds; private static ThreadLocal<Connection> tl = new ThreadLocal<Connection>(); // map static { ds = new ComboPooledDataSource();//直接使用即可,不用显示的配置,其会自动识别配置文件 } public static DataSource getDataSource() { return ds; } public static Connection getConnection() throws SQLException { try { // 得到当前线程上绑定的连接 Connection conn = tl.get(); if (conn == null) { // 代表线程上没有绑定连接 conn = ds.getConnection(); tl.set(conn); } return conn; } catch (Exception e) { throw new RuntimeException(e); } } public static void startTransaction() { try { // 得到当前线程上绑定连接开启事务 Connection conn = tl.get(); if (conn == null) { // 代表线程上没有绑定连接 conn = ds.getConnection(); tl.set(conn); } conn.setAutoCommit(false); } catch (Exception e) { throw new RuntimeException(e); } } public static void commitTransaction() { try { Connection conn = tl.get(); if (conn != null) { conn.commit(); } } catch (Exception e) { throw new RuntimeException(e); } } public static void closeConnection() { try { Connection conn = tl.get(); if (conn != null) { conn.close(); } } catch (Exception e) { throw new RuntimeException(e); } finally { tl.remove(); // 千万注意,解除当前线程上绑定的链接(从threadlocal容器中移除对应当前线程的链接) } } }
详细信息见:
http://www.mchange.com/projects/c3p0/
c3p0官方网站
×
免责声明!
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。
猜您在找
C3P0使用详解
C3P0的详细配置说明
c3p0优化详细配置
使用c3p0 对事务的处理
【c3p0】 C3P0的三种配置方式以及基本配置项详解
Spring里面c3p0连接池的配置和使用
Spring之c3p0连接池xml配置和使用举例
C3P0在多线程下的maxPoolSize配置
C3p0连接池配置
C3P0连接池参数配置说明
粤ICP备18138465号
© 2018-2025 CODEPRJ.COM