提供数据库连接池 和数据库连接

package cn.itcast.estore.utils;

import java.sql.Connection;
import java.sql.SQLException;

import javax.sql.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;

/**
* 工具类 提供数据库连接池 和数据库连接
*
*
*
*/
public class DataSourceUtils {

private static DataSource dataSource = new ComboPooledDataSource();
private static ThreadLocal<Connection> tl= new ThreadLocal<Connection>();

// private static ThreadLocal th=new ThreadLocal();

         public static DataSource getDataSource() {
    return dataSource;

}

/**
 * 当DBUtils需要手动控制事务时,调用该方法获得一个连接
 * 
 * @return
 * @throws SQLException
 */
public static Connection getConnection() throws SQLException {

// Connection con = tl.get();
// return dataSource.getConnection();
Connection con = tl.get();
if (con==null) {
con=dataSource.getConnection();
tl.set(con);
}
return con;
}
// 开启事务
public static void startTransaction() throws SQLException{
Connection con = getConnection();
con.setAutoCommit(false);

    }

//事物回滚;
public static void rollback() throws SQLException{
Connection con = getConnection();
con.rollback();

} 
//进行资源翻入;
public static void  commitAndreleseResource() throws SQLException{
    Connection con = getConnection();
    con.commit();//事物提交;
    con.close();//事物
    tl.remove();//需要从ThreadLocal中移除connection;


}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值