用于处理JDBC 增删等写操作的事务控制
2017-08-15 21:14
435 查看
import java.sql.Connection; import java.sql.SQLException; /** * 工具类: * 处理事务,用于回滚数据库操作 * @author * */ public class MangeThreadLocal { private static ThreadLocal<Connection> tl = new ThreadLocal<Connection>(); //得到一个连接 public static Connection getConnection(){ Connection conn = tl.get();//从当前线程中取出一个连接 if(conn==null){ conn = JdbcUtil.getConnection();//从池中取出一个 tl.set(conn);//把conn对象放入到当前线程对象中 } return conn; } //开始事务 public static void startTransaction(){ try { Connection conn = getConnection(); conn.setAutoCommit(false);//从当前线程取出 的对象,并开启事务 } catch (SQLException e) { e.printStackTrace(); } } //提交事务 public static void commit(){ try { getConnection().commit(); } catch (SQLException e) { e.printStackTrace(); } } //回滚事务 public static void rollback(){ try { System.out.println("conn="+getConnection()); getConnection().rollback(); } catch (SQLException e) { e.printStackTrace(); } } //关闭连接 public static void close(){ try { getConnection().close();//把连接放回池中 tl.remove();//把当前线程中的的conn对象移除 } catch (SQLException e) { e.printStackTrace(); } } }
JDBCUtil查看另一篇JDBC工具类
相关文章推荐
- 事务处理之连续插入中获取操作1中自动生成的key,用于操作2中的外键
- 用于在存储过程中 根据@@error 判断是否要提交事务和提示操作是否成功,便于异常处理
- spring 2.5整合jdbc进行数据库操作和注解事务控制
- oracle事务处理及实例演示jdbc操作批量删除
- JAVA利用JDBC对数据库的操作和JDBC编程之事务处理
- spring 2.5整合jdbc进行数据库操作和XML事务控制
- (6)理解事务处理、事务处理的隔离级别,和使用JDBC进行事务处理||抛弃框架,如何实现分层架构下JDBC事务的控制
- oracle事务处理及实例演示jdbc操作批量删除
- Spring学习心得(22)-- spring声明式事务处理(使用jdbc操作数据库)
- spring04 数据库操作 spring+jdbc/hibernate 及其声明式事务处理
- 总结基于mysql的jdbc对数据库的操作(增删查改,批量操作,事务)
- oracle事务处理及实例演示jdbc操作批量删除
- mysql 事务处理,事务操作,JDBC中事务的使用,事务的sql语句,
- JDBC-事务处理控制
- (12)JDBC事务控制
- JDBC(二)之JDBC处理CLOB和BLOB及事务与数据库元数据获取
- Executing a batch in a transaction--PHP DATA OBJECT(PDO)事务处理中的批量操作
- JDBC对数据库的事务操作
- java通过JDBC连接数据库及增删改查操作
- JDBC 事务 与 基本操作模板