- sqlSessionFactoryBuilder 构建器 存在的意义就是创建sqlSessionFactory,用完既废弃 即可
sqlSessionFactory 创建sqlSession 应使用单例模式,方便管理数据库连接,节约数据库连接资源,其生命周期存在于应用的整个声明周期中
- `private static SqlSessionFactory factory = null;
//类线程锁
private static final Class CLASS_LOCK = SqlSesssionFactoryUtils.class;
public static SqlSessionFactory initSqlSessionFactory() {
String resource = “mybatis-config.xml”;
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream(resource);
} catch (Exception e) {
// TODO: handle exception
}
/* 使用锁机制,防止多线程环境下 生成多个facotry对象 /
synchronized (CLASS_LOCK) {
if (factory == null) {
factory = new SqlSessionFactoryBuilder().build(inputStream);
}
}
return factory;
}public static SqlSession openSqlSession() {
if (factory ==null) {
initSqlSessionFactory();
}
return factory.openSession();
}`- `private static SqlSessionFactory factory = null;
- sqlsession 会话对象. 是线程不安全的.其生命周期是在数据库处理请求的过程中.必须要及时关闭
4.mapper 其生命周期最大也在sqlSession生命周期之内.用完会即销毁.
mybatis核心组件生命周期管理
最新推荐文章于 2021-08-31 11:25:30 发布