SqlSessionFactory这个类是用来干什么的?

2025-04-07 23:50:33
推荐回答(1个)
回答1:

一、回答:

1、这个类可以被实例化、使用和丢弃,一旦创建了 SqlSessionFactory,就不再需要它了。

2、因此 SqlSessionFactoryBuilder 实例的最佳范围是方法范围(也就是局部方法变量)。

3、你可以重用 SqlSessionFactoryBuilder 来创建多个 SqlSessionFactory 实例,但是最好还是不要让其一直存在以保证所有的 XML 解析资源开放给更重要的事情。

二、拓展:

1、SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由对它进行清除或重建。

2、使用 SqlSessionFactory 的最佳实践是在应用运行期间不要重复创建多次,多次重建 SqlSessionFactory 被视为一种代码“坏味道(bad smell)”。

3、因此  SqlSessionFactory 的最佳范围是应用范围。有很多方法可以做到,最简单的就是使用单例模式或者静态单例模式。