C3P0连接池工具类实现步骤及方法
C3P0连接池的工具类 使用C3P0获得连接对象
连接池有一个规范接口 javax.sal.DataSourse 接口
定义了一个从连接池中获得连接的方法
getConnection();
步骤
导入jar包
在成员变量位置创建一个静态的ComboPooledDtatSource 对象
在静态代码块中使用ComboPooledDtatSource 对象 setxxxx方法 设置数据库连接
定义一个静态方法 ComboPooledDtatSource 对象中获得数据库连接 Coonection
释放资源(归还);
方法类:
package cn.sourceUntil;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/*
C3P0连接池的工具类 使用C3P0获得连接对象
连接池有一个规范接口 javax.sal.DataSourse 接口
定义了一个从连接池中获得连接的方法
getConnection();
步骤
0. 导入jar包
1. 在成员变量位置创建一个静态的ComboPooledDtatSource 对象
2. 在静态代码块中使用ComboPooledDtatSource 对象 setxxxx方法 设置数据库连接
3. 定义一个静态方法 ComboPooledDtatSource 对象中获得数据库连接 Coonection
4. 释放资源(归还);
*/
public class C3P0Utils {
//1. 在成员变量位置创建一个静态的ComboPooledDtatSource 对象
private static ComboPooledDataSource dataSource=new ComboPooledDataSource();
//2. 在静态代码块中使用ComboPooledDtatSource 对象 setxxxx方法 设置数据库连接
static {
try {
//设置注册驱动程序
dataSource.setDriverClass("com.musql.jdbc.Dringver");
//设置URL
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/day05");
//设置数据库用户名
dataSource.setUser("root");
//设置数据库密码
dataSource.setPassword("root");
} catch (PropertyVetoException e) {
e.printStackTrace();
}
}
//3. 定义一个静态方法 ComboPooledDtatSource 对象中获得数据库连接 Coonection
public static Connection getConnection(){
try {
return dataSource.getConnection();
} catch (SQLException e) {
throw new RuntimeException("数据库连接失败");
}
}
//4. 释放资源(归还);
public static void close(ResultSet rs, Statement stat,Connection conn){
if (rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stat!=null){
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn!=null){
try {
conn.close();//不是关 是归还
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
测试类:
package cn.cn.sourceTest;
import cn.sourceUntil.C3P0Utils;
import org.junit.Test;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestC3P0Until {
@Test
public void tes01() throws SQLException {
//使用C3P0工具类 获得getConnection
Connection conn = C3P0Utils.getConnection(http://www.my516.com);
System.out.println(conn);
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery("SELECT * FROM users");
System.out.println("123456");
//遍历结果集
while (rs.next()){
System.out.println(rs.getInt("cid")+rs.getString("pname")+rs.getString("pasword"));
}
//释放资源
C3P0Utils.close(rs,stat,conn);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
---------------------
C3P0连接池工具类实现步骤及方法的更多相关文章
- C3P0连接池工具类使用
c3p0的基本连接配置文件 c3p0-config.xml <c3p0-config> <default-config> <property name="dri ...
- Druid连接池工具类
package cn.zmh.PingCe; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSo ...
- c3p0连接池获得的Connection执行close方法后是否真的销毁Connection对象?
问题描述: jfinal做的api系统中,在正常调用接口一段时间后,突然再调用接口的时候,该请求无响应api系统后台也无错误信息 (就是刚开始接口调用是正常的,突然就无响应了) 于是啊,就开始找错误. ...
- 004-C3P0连接池工具类模板
package ${enclosing_package}; import java.sql.Connection; import java.sql.ResultSet; import java.sql ...
- Oracle连接池工具类OJDBCUtils
Oraclejdbc.properties driverClassName=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@127.0.0. ...
- jedis 连接池工具类
maven <properties> <jedis.version>3.0.1</jedis.version> <junit.verion>4.12&l ...
- DBCP连接池工具类模板
package ${enclosing_package}; import java.io.InputStream; import java.sql.Connection; import java.sq ...
- C3P0连接池配置(C3P0Utils.java)
配置文件 c3p0-config.xml <?xml version="1.0" encoding="UTF-8"?> <c3p0-confi ...
- C3P0连接池使用教程
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6405861.html 在项目中的应用见: https://github.com/ygj0930/Coupl ...
随机推荐
- CodeForces19D:Points(线段树+set(动态查找每个点右上方的点))
Pete and Bob invented a new interesting game. Bob takes a sheet of paper and locates a Cartesian coo ...
- 使用lsyncd配置数据库备份多异地同步
lsyncd配置文件 settings { logfile = "/var/log/lsyncd.log", --日志路径 status = "/var/log/lsyn ...
- bzoj1925
dp 搬题解~~:http://blog.csdn.net/aarongzk/article/details/44871391 #include<cstdio> using namespa ...
- 父窗口与iFrame之间调用方法和元素
父窗口与iFrame之间调用方法和元素 父窗口调用子窗口: 调用元素 js格式: var obj=document.getElementById("iframe的name").co ...
- iView 实战系列教程(21课时)_1.iView 实战教程之配置篇
1.iView 实战教程之配置篇 点击添加插件,. 选中后安装 全部导入还是按需导入. 2.是否需要自定义主题变量 3.多语言的设置. 这里我们全部选择为默认 然后点击继续. 启动项目 入口文件导入了 ...
- H.264(MPEG-4 AVC)级别(Level)、DPB 与 MaxDpbMbs 详解(转载)
转自:http://www.cnblogs.com/zyl910/archive/2011/12/08/h264_level.html 对于H.264(MPEG-4 AVC)而言,级别(Level)是 ...
- 关于TImer使用的注意
晚点再写 停止Timer let timer = .... timer.invalidate()
- UML 图中类之间的关系:依赖,泛化,关联,聚合,组合,实现
http://www.uml.org.cn/oobject/201211231.asp 1. 关联 一个类作为另外一个类的变量:在UML类图中,用实线连接有关联关系的对象所对应的类 2.聚合 表示整体 ...
- Jmeter之一个请求获取上一个请求的参数
刚开始有这个需求,网上都是一些使用正则表达式的例子,苦于自己看不好正式的表达式,且响应结果稍微变一下,自己就不会写了,于是谷歌上各种搜,也阅读官网上文档,后来发现一个好的插件 Json path Ex ...
- 目标&计划
目标 感觉起来NOIP还是能考到一个比较好的分数的吧 550+? 现在可能还不大行,但是过3个月或许还是能考到的 所以先订下NOIP保底500争取550+吧 至于省选... 前面有一群巨佬挡着,感觉想 ...