c3p0的使用
来源:互联网 发布:将电脑网络共享给手机 编辑:程序博客网 时间:2024/05/17 00:14
使用c3p0我们需要两个jar包,这两个jar包分别是:c3p0-0.9.5.2.jar和mchange-commons-java-0.2.11.jar,如果缺少了第二个jar包的话,那么将会报java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector at com.weixin.util.Db.(Db.java:16) at com.weixin.test.DataSourceTest.testPool(DataSourceTest.java:15) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.N这个错误,下面我们来看下c3p0的使用方法:
package com.weixin.util;import java.beans.PropertyVetoException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import com.mchange.v2.c3p0.ComboPooledDataSource;/** * 创建数据库连接类 * @author wan */public class Db { private static ComboPooledDataSource ds = new ComboPooledDataSource(); static { try { ds.setDriverClass(WeixinUtil.prop.getProperty("c3p0.driverClass")); ds.setJdbcUrl(WeixinUtil.prop.getProperty("c3p0.jdbcUrl")); ds.setUser(WeixinUtil.prop.getProperty("c3p0.user")); ds.setPassword(WeixinUtil.prop.getProperty("c3p0.password")); ds.setMaxPoolSize(Integer.parseInt(WeixinUtil.prop.getProperty("c3p0.maxPoolSize"))); ds.setMinPoolSize(Integer.parseInt(WeixinUtil.prop.getProperty("c3p0.minPoolSize"))); ds.setInitialPoolSize(Integer.parseInt(WeixinUtil.prop.getProperty("c3p0.initialPoolSize"))); ds.setMaxStatements(Integer.parseInt(WeixinUtil.prop.getProperty("c3p0.maxStatementSize"))); } catch (PropertyVetoException e) { e.printStackTrace(); } } public static Connection getConnection() { try { return ds.getConnection(); } catch (SQLException e) { e.printStackTrace(); } return null; }}
下面我来逐项的解释:上面一个私有的ComboPooledDataSource是数据源,通俗点说就是数据库连接池由它管理,后面我们获得Connection也是通过它获得的,这个工具类里面有一个静态代块,这个静态代码块的作用是用来设置数据源的一些参数的,例如,ds.setDriverClass(WeixinUtil.prop.getProperty(“c3p0.driverClass”));这一行代码是用来设置数据库连接的驱动的,下面的内容类似,例如设置数据库用户名,设置用户名密码,设置数据库连接池的最大连接数等等,WeixinUtil.prop.getProperty(“c3p0.driverClass”);这里面的代码是我将数据库连接的信息配置到了属性文件里面,下面来看看属性文件:
c3p0.driverClass=com.mysql.jdbc.Driverc3p0.jdbcUrl=jdbc:mysql://localhost:3306/mytestc3p0.user=rootc3p0.password=rootc3p0.minPoolSize=5c3p0.maxPoolSize=20c3p0.acquireIncrement=5c3p0.initialPoolSize=5c3p0.maxStatementSize=180c3p0.maxIdleTime=240
这上面是数据库连接池的属性文件
- C3P0使用的笔记
- c3p0的使用
- C3P0使用的笔记
- c3p0的使用
- c3p0的使用实例!
- c3p0的使用
- C3P0的使用
- c3p0的使用实例!
- c3p0的使用
- c3p0的使用
- C3P0的使用
- 数据源c3p0的使用
- C3P0的使用
- hibernate中c3p0的使用
- c3p0连接池的使用
- c3p0数据库连接池的使用
- c3p0数据库连接池的使用
- c3p0数据库连接池的使用
- 4289: PA2012 Tax
- iOS - 生成二维码
- Django项目部署 Django + nginx + tornado
- MySQL语句大全:创建、授权、查询、修改
- wpe 网络改包
- c3p0的使用
- 练习三1013
- 算法练习2.Add Two Numbers 反向小数链表表示相加
- hive 建立表结构 ,添加分区
- POJ1200 Crazy Search(hash)
- 用Wordpress搭建个人网站(3)
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- 《wonderful tonight》
- Xamarin 手动安装