老师能不能解释一下ThreadLocal,为什么要在这里用,以脸懵圈啊!!
老师能不能解释一下ThreadLocal,为什么要在这里用,以脸懵圈啊!!
老师能不能解释一下ThreadLocal,为什么要在这里用,以脸懵圈啊!!
package com.damu.utils;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
/**
* Created by mouwe on 2017/5/23.
*/
public class SqlSessionFactoryUtils {
private static String RESOURCE = "mybatis-config.xml";
private static SqlSessionFactory sqlSessionFactory;
private static ThreadLocal<SqlSession> threadLocal = new ThreadLocal<SqlSession>();
/**
* 创建一个初始化SqlSessionFactory的方法
*/
public static void initSqlSessionFactry() {
try {
InputStream is = Resources.getResourceAsStream(RESOURCE);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 获取工厂对象的方法
* @return
*/
public static SqlSessionFactory getSqlSessionFactory() {
return sqlSessionFactory;
}
/**
* 关闭SqlSession的方法
*/
public static void close(){
SqlSession session = threadLocal.get();
if(session != null) {
session.close();
threadLocal.set(null);
}
}
}0
收起
正在回答 回答被采纳积分+1
1回答
好帮手慕阿莹
2018-12-13 14:40:23
建议同学可以参考一下这个问答:
http://class.imooc.com/course/qadetail/42219
这个同学的提问和同学的提问是一样的,老师在这个问答下做了回答。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
Java数据库开发与实战应用2018版
- 参与学习 人
- 提交作业 277 份
- 解答问题 4297 个
Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星