public class MyBatisUtil {
private static SqlSessionFactory factory;
private static final ThreadLocal<SqlSession> local = new ThreadLocal<SqlSession>();
static{
try {
//加载mybatis配置文件
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
//会话工厂
factory = builder.build(is);
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSessionFactory getFactory(){
return factory;
}
public static SqlSession getSqlSession(){
SqlSession sqlSession = local.get();
if(sqlSession == null ){
//sqlsession表示MyBatis雨数据库之间的会话;通过工厂设计模式
sqlSession = factory.openSession();
local.set(sqlSession);
}
return sqlSession;
}
public static <T extends Object> T getMapper(Class<T> c){
SqlSession sqlSession = getSqlSession();
//通过sqlsession对象调用getMapper方法获取Dao对象
return sqlSession.getMapper(c);
}
}
六、MyBatis工具类封装
最新推荐文章于 2023-07-06 23:44:53 发布