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 ...
随机推荐
- Github--开源代码仓库式系统(转)
要了解Github,我们首先要知道Git,Git是管理代码的工具,写代码不是件轻松的事儿,一个人写的时候已经不轻松了,一群人写就更不轻松了,但这世界上很多事都是怎么不轻松怎么来的,大部分人都会和别人一 ...
- struts2添加需要的jar包
转自:https://blog.csdn.net/fance611261/article/details/6790737 以前总是在myeclipse中添加jar包的,由于现在转向了eclipse,原 ...
- 洛谷 - P1443 - 马的遍历 - bfs
略有收获的bfs,使用了try_enqueue函数使得加入队列非常方便.性能理论上是一样的因为是inline? 还有就是左对齐是使用%-4d,相对于右对齐的%4d,还有右对齐前导零的%04d,自己试一 ...
- 51nod 1094 【水题】
暴力即可!!! #include <stdio.h> #include <string.h> #include <iostream> using namespace ...
- POJ1503
大数+++++ #include<cstdio> #include<string.h> #include<iostream> #include<algorit ...
- c# 异常找不到源代码的情况
简单说下原因,调用的是dynamic参与的函数 dynamic dataqueue = pi.GetValue(this,null); var eo = ErrorObject.True; var v ...
- bzoj 4530: [Bjoi2014]大融合【LCT】
新姿势,一般来讲LCT只能维护splay重边里的数据,而这里要求维护整颗子树的size 多维护一个sq表示当前点轻儿子的size和,si表示包括轻重边的整颗子树的大小 然后需要改sq的地方是link和 ...
- 运行scrapyd报错
转自: https://blog.csdn.net/qq_29719097/article/details/89431234 web.Server Traceback (most recent ...
- mysql架构解析
架构 mysql是cs架构,在服务端可以启动该mysqld服务,mysqld进程默认监听在tcp:3306.在客户端使用命令行工具mysql或者图形化工具navicat for mysql进行远程连接 ...
- 线段树(单点更新) HDU 1754 I Hate It
题目传送门 /* 线段树基本功能:区间最大值,修改某个值 */ #include <cstdio> #include <cstring> #include <algori ...