biz处理dao层的事务

217 阅读1分钟

前言 正文

 

 

1.创建一个事物管理对象,该对象将连接对象绑定到当前线程

package bank.util;
import java.sql.Connection;
import java.sql.SQLException;

public class TransactionManager {
	private static ThreadLocal tl=new ThreadLocal();
	private Connection conn;
	public TransactionManager(){
		try {
			conn=ConnectionUtil.getConn();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		//将获得的连接对象绑定到线程
		tl.set(conn);
	}
	public static Connection getConn(){
		//从当前线程中获取绑定的连接对象
		return (Connection) tl.get();
	}
	//将连接对象的事务设置手动提交
	public void openTransaction(){
		try {
			conn.setAutoCommit(false);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	//事务提交
	public void commitTransaction(){
		try {
			conn.commit();
			conn.close();
		} catch (SQLException e) {