老师能不能解释一下ThreadLocal,为什么要在这里用,以脸懵圈啊!!

老师能不能解释一下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);
        }
    }
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿莹 2018-12-13 14:40:23

建议同学可以参考一下这个问答:

http://class.imooc.com/course/qadetail/42219  

这个同学的提问和同学的提问是一样的,老师在这个问答下做了回答。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 iStream #1
    你的回答没有任何帮助!!!!
    2018-12-13 14:48:37
  • 好帮手慕阿莹 回复 提问者 iStream #2
    老师在问答 http://class.imooc.com/course/qadetail/82441 中回复了你,请同学看一下。祝学习愉快。
    2018-12-13 17:12:19
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师