c3p0数据库连接池使用--创建JDBCTools 公共类

package com.atguigu.jdbc;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

import javax.sql.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class JDBCTools {

//处理数据库事务的
//提交事务
public static void commit(Connection connection){
if(connection!=null){
try {
connection.commit();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//回滚事务
public static void rollback(Connection connection){
if(connection!=null){
try {
connection.rollback();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//开始事务
public static void beginTx(Connection connection){
if(connection!=null){
try {
connection.setAutoCommit(false);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//数据库连接池应只被初始化一次,因为一个项目只需要一个连接池,所以创建一个静态的属性然后从静态代码块中初始化
private static DataSource dataSource=null;
static{
dataSource=new ComboPooledDataSource("helloc3p0");
}
public static Connection getConnection() throws SQLException{
return dataSource.getConnection();
}
/**
* 获取数据库连接方法
*
* @return
* @throws IOException
* @throws ClassNotFoundException
* @throws SQLException
*/

public static Connection getConnection1() throws IOException,
ClassNotFoundException, SQLException {
// 1、读取connection数据源所需四个字符串
// 1)创建properties对象
Properties properties = new Properties();
// 2)获取properties对象的输入流
InputStream inputStream = JDBCTools.class.getClassLoader()
.getResourceAsStream("jdbc.properties");
// 3)加载输入流
properties.load(inputStream);
// 4)获取字符串
String driverClass = properties.getProperty("driverClass");
String url = properties.getProperty("jdbcUrl");
String user = properties.getProperty("user");
String password = properties.getProperty("password");
// 2、加载驱动
Class.forName(driverClass);
// 3、用DriverManager的getConnection()方法创建 connection数据源
Connection connection=DriverManager.getConnection(url, user, password);
return connection;
}

/**
* 释放数据库资源方法
*
* @param resultSet
* @param statement
* @param connection
*/
public static void release(ResultSet resultSet, PreparedStatement preparedStatement,
Connection connection) {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
}
}
if (preparedStatement != null) {
try {
preparedStatement.close();
} catch (SQLException e) {
}
}
if (connection != null) {
try {
//数据库连接池的Connection对象进行close时并不是真的进行关闭,而是把该数据库连接归还到连接池
connection.close();
} catch (SQLException e) {
}
}
}

时间: 2024-10-05 19:10:04

c3p0数据库连接池使用--创建JDBCTools 公共类的相关文章

C3P0数据库连接池-方式1手动创建

C3P0是常用的数据连接池技术(第三方提供) 也是基于核心类DataSource. DBCPUtils.java package com.itheima.b_dbcp; import java.sql.Connection; import java.sql.SQLException; import org.apache.commons.dbcp.BasicDataSource; public class DBCPUtils { private static BasicDataSource dat

c3p0 数据库连接池

C3P0连接池 c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展.c3p0一般是与Hibernate,Spring等框架一块使用的,当然也可以单独使用. dbcp没有自动回收空闲连接的功能,c3p0有自动回收空闲连接功能. 使用c3p0需要导入c3p0.jar.mchange-commons-.jar,如果操作的是Oracle数据库,那么还需要导入c3p0-oracle-thin-extras-pre1.jar 这里我使用的是MySQL数

【Java EE 学习第16天】【dbcp数据库连接池】【c3p0数据库连接池】

零.回顾之前使用的动态代理的方式实现的数据库连接池: 代码: 1 package day16.utils; 2 3 import java.io.IOException; 4 import java.lang.reflect.InvocationHandler; 5 import java.lang.reflect.Method; 6 import java.lang.reflect.Proxy; 7 import java.sql.Connection; 8 import java.sql.D

数据库连接池的创建

德鲁伊连接池的创建                                              //获取druid.properties配置文件的路径,(DruidUtils)是"druid.properties"文件的兄弟路径,getClassLoader()获取的是<他们>的运行时路径 InputStream inputStream = DruidUtils.class.getClassLoader().getResourceAsStream("

[原创]java WEB学习笔记80:Hibernate学习之路--- hibernate配置文件:JDBC 连接属性,C3P0 数据库连接池属性等

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

c3p0 数据库连接池相关知识

c3p0数据库连接池的配置文件放在eclipse的src目录下,代码就可以识别. c3p0的配置文件的内容如下: <!-- Uncomment and set any of the optional parameters below --> <!-- See c3p0's docs for more info. --> <!--连接池中保留的最大连接数.默认值: 15 --> <property name="maxPoolSize" value

黑马day11 c3p0数据库连接池

c3p0数据库连接池:我们以后开发就使用这个数据库连接池,非常的方便.只需要一个配置文件即可,c3p0默认是在类字节码文件中找到c3p0-config.xml文件. 使用步骤: 1.导入相应的jar包即可 2.然后再类中使用 案例1: package com.itheima.c3p0; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.

C3P0数据库连接池-方式2读取配置文件的方式

package com.itheima.c_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 dataSource = new ComboPool

DBCP数据库连接池和 c3p0数据库连接池的使用

DBCP数据库连接池 http://m.blog.csdn.net/article/details?id=47033595 c3p0数据库连接池的使用 http://blog.csdn.net/wushangjimo/article/details/12654491