DBUtil工具类JdbcUtil

来源:互联网 发布:idea java文件 蓝色j 编辑:程序博客网 时间:2024/06/03 22:05

包含获取Connection,开启事务,提交事务,回滚事务,释放连接

import java.sql.Connection;import java.sql.SQLException;import javax.sql.DataSource;import com.mchange.v2.c3p0.ComboPooledDataSource;public class JdbcUtil {private static ComboPooledDataSource ds = null;private static ThreadLocal<Connection> ld = new ThreadLocal<Connection>(); static{ds = new ComboPooledDataSource();}public static DataSource getDataSource(){return ds;}public static Connection getConnection(){try{Connection conn = ld.get();if(conn == null){conn = ds.getConnection();ld.set(conn);}return conn;}catch(SQLException e){throw new RuntimeException(e);}}public static void startTransaction(){try{Connection conn = ld.get();if(conn == null){conn = ds.getConnection();ld.set(conn);}conn.setAutoCommit(false);}catch(SQLException e){throw new RuntimeException(e);}}public static void commitTransaction(){try{Connection conn = ld.get();if(conn != null){conn.commit();}}catch(SQLException e){throw new RuntimeException(e);}}public static void rollback(){try{Connection conn = ld.get();if(conn != null){conn.rollback();}}catch(SQLException e){throw new RuntimeException(e);}}public static void release(){try{Connection conn = ld.get();if(conn!=null){conn.close();ld.remove(); //解除当前线程上绑定conn}}catch(SQLException e){throw new RuntimeException(e);}}}


 

原创粉丝点击