基于jdbc的事务的链接工厂
2017-10-24 18:48
274 查看
/**
* Date:2017年10月23日下午3:20:49
* Copyright (c) 2017, czz1990520@163.com All Rights Reserved.
*
*/
/**
* @Description: TODO
* @author 程昭昭 czz1990520@163.com
* @date 2017年10月23日 下午3:20:49
*/
package com.czz.ehzc.transaction;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
/**
* ClassName:TransactionFactory <br/>
* Function: TODO ADD FUNCTION. <br/>
* Reason: TODO ADD REASON. <br/>
* Date: 2017年10月23日 下午3:20:49 <br/>
* @author czz19
* @version
* @since JDK 1.8
* @see
*/
/**
* @Description: TODO
* @author czz1990520@163.com 程昭昭
* @date 2017年10月23日 下午3:20:49
*
*/
public class TransactionFactory {
/**
* 提交事务
* date: 2017年10月23日 下午3:22:36 <br/>
* @author czz1990520@163.com
* @param conn
*/
public static void commit(Connection conn) {
if(conn!=null) {
try {
conn.commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 回滚事务
* date: 2017年10月23日 下午3:24:23 <br/>
* @author czz1990520@163.com
* @param conn
*/
public static void rollback(Connection conn) {
if(conn!=null) {
try {
conn.rollback();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 自动提交
* date: 2017年10月23日 下午3:24:50 <br/>
* @author czz1990520@163.com
* @param conn
*/
public static void beginTransaction(Connection conn) {
if(conn!=null) {
try {
conn.setAutoCommit(false);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 数据库连接池
*/
private static DataSource dataSource = null;
/**
* 初始化数据库连接池
*/
static {
dataSource = new ComboPooledDataSource("c3p0-config.xml");
}
/**
* 创建数据库链接
* date: 2017年10月23日 下午3:28:03 <br/>
* @author czz1990520@163.com
* @return
* @throws SQLException
*/
public static Connection getConnection() throws SQLException {
return dataSource.getConnection();
}
/**
* 关闭数数据库连接池
* date: 2017年10月23日 下午3:29:24 <br/>
* @author czz1990520@163.com
* @param rs
* @param pstmt
* @param conn
*/
public static void releaseDataBase(ResultSet rs,PreparedStatement pstmt,Connection conn) {
if(rs!= null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(pstmt!= null) {
try {
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn!= null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
* Date:2017年10月23日下午3:20:49
* Copyright (c) 2017, czz1990520@163.com All Rights Reserved.
*
*/
/**
* @Description: TODO
* @author 程昭昭 czz1990520@163.com
* @date 2017年10月23日 下午3:20:49
*/
package com.czz.ehzc.transaction;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
/**
* ClassName:TransactionFactory <br/>
* Function: TODO ADD FUNCTION. <br/>
* Reason: TODO ADD REASON. <br/>
* Date: 2017年10月23日 下午3:20:49 <br/>
* @author czz19
* @version
* @since JDK 1.8
* @see
*/
/**
* @Description: TODO
* @author czz1990520@163.com 程昭昭
* @date 2017年10月23日 下午3:20:49
*
*/
public class TransactionFactory {
/**
* 提交事务
* date: 2017年10月23日 下午3:22:36 <br/>
* @author czz1990520@163.com
* @param conn
*/
public static void commit(Connection conn) {
if(conn!=null) {
try {
conn.commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 回滚事务
* date: 2017年10月23日 下午3:24:23 <br/>
* @author czz1990520@163.com
* @param conn
*/
public static void rollback(Connection conn) {
if(conn!=null) {
try {
conn.rollback();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 自动提交
* date: 2017年10月23日 下午3:24:50 <br/>
* @author czz1990520@163.com
* @param conn
*/
public static void beginTransaction(Connection conn) {
if(conn!=null) {
try {
conn.setAutoCommit(false);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 数据库连接池
*/
private static DataSource dataSource = null;
/**
* 初始化数据库连接池
*/
static {
dataSource = new ComboPooledDataSource("c3p0-config.xml");
}
/**
* 创建数据库链接
* date: 2017年10月23日 下午3:28:03 <br/>
* @author czz1990520@163.com
* @return
* @throws SQLException
*/
public static Connection getConnection() throws SQLException {
return dataSource.getConnection();
}
/**
* 关闭数数据库连接池
* date: 2017年10月23日 下午3:29:24 <br/>
* @author czz1990520@163.com
* @param rs
* @param pstmt
* @param conn
*/
public static void releaseDataBase(ResultSet rs,PreparedStatement pstmt,Connection conn) {
if(rs!= null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(pstmt!= null) {
try {
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(conn!= null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
相关文章推荐
- Java基于JDBC实现事务,银行转账及货物进出库功能示例
- hibernate 基于JDBC的事务管理
- 传智播客 JDBC基础之工厂模式的应用与事务分析
- 【Spring实战】—— 16 基于JDBC持久化的事务管理
- 基于JDBC API 的事务管理代码示例
- 总结基于mysql的jdbc对数据库的操作(增删查改,批量操作,事务)
- jdbc 链接工厂 关闭接口
- 基于PostgreSQL链接JDBC源码分析
- 【Spring实战】—— 16 基于JDBC持久化的事务管理
- hibernate jdbc jpa 事务超时
- spring 基于XML和注解的两种事务配置方式
- spring事物配置,声明式事务管理和基于@Transactional注解的使用
- spring事物配置,声明式事务管理和基于@Transactional注解的使用
- 用JDBC开发基于客户/服务器模式的Internet/Intranet数
- java JDBC 通过物理连接数据库和通过获取数据库连接池进行链接
- JDBC事务控制管理
- (spring-第3回【IoC基础篇】)spring的依赖注入-属性、构造函数、工厂方法等的注入(基于XML)
- 2014-07-16 Java Web的学习(13)-----DBUtil&基于DBUtil的事务处理(动态代理AOP)
- 基于hadoop的事务日志的搜索引擎的开发
- mysql引擎与jdbc事务回滚