SqlSessionFactory工具类抽取

SqlSessionFactory工具类抽取

问题描述:

当我们多次使用SqlSessionFactory创建并获取对象时会产生问题:

1. 导致代码的重复

2. 多次使用SqlSessionFactory创建并获取对象时每一次都会创建一个连接池,创建多个工厂就回创建
多个连接池,所消耗的资源是非常大的

总结: 所以SqlSessionFactory工厂只创建一次就可以了

代码解决:SqlSessionFactory工具类:

public class SqlSessionFactoryUtils {

    /**
     * 提升作用域
     */
    private static SqlSessionFactory sqlSessionFactory;

    static {
        //静态代码块会随着类的加载而自动执行,且只执行一次

        try {
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


    public static SqlSessionFactory getSqlSessionFactory(){
        return sqlSessionFactory;
    }
}
posted @ 2022-07-28 16:43  Haziy  阅读(110)  评论(0编辑  收藏  举报