MyBatis工具类

import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.jdbc.Null;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

/**
 * MyBatis工具类
 * @author Administrator
 *
 */
public class SqlUtils {
	
	private static SqlSessionFactory sFactory; //对象工厂
	private static ThreadLocal<SqlSession> threadLocals = new ThreadLocal<>();	//将会话放到线程里
	
	static{
		try {
			//加载配置文件
			InputStream iStream = Resources.getResourceAsStream("config/mybatis-config.xml");
			//获得对象工厂
			sFactory = new SqlSessionFactoryBuilder().build(iStream);
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
			throw new RuntimeException("Mybatis Utils 工具类读取配置文件出现异常");
		}
	}
	
	//获得session会话
	private static SqlSession getOpenSession(){
		SqlSession session = threadLocals.get();
		if (session == null) {
			session = sFactory.openSession();
			threadLocals.set(session);
		}
		return session;
	}
	
	
	//获取接口的实现类对象
	public static Object getMapper(Class ca){
		SqlSession session = getOpenSession();
		//获取dao接口的实现类
		return session.getMapper(ca);
	}
	
	//关闭资源链接
	public static void close(){
		SqlSession session = getOpenSession();
		session.close();
		threadLocals.remove();
	}
	
	//提交事务
	public static void commit(){
		getOpenSession().commit();
		close();
	}
	
	//回滚
	public static void rollback(){
		getOpenSession().rollback();
		close();
	}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值