生命周期和作用域是至关重要的,错误的使用会导致非常严重的并发问题。
SqlSessionFactoryBuilder:
一旦使用就会被丢弃,所以最好设置为局部变量
SqlSessionFactory:
一旦被创建就应该在运行期间一直存在,没有任何理由丢弃它或重新创建一个。所以设置为单例模式或者静态单例模式。
SqlSession:
每个线程都有它自己的SQLSession实例,SQLSession的实例不是线程安全的。所以最好也设置为局部变量,并且需要记得每次使用完之后进行关闭操作。
本文详细介绍了Java中SqlSessionFactoryBuilder、SqlSessionFactory和SqlSession的生命周期及其作用域。SqlSessionFactoryBuilder是一次性使用的,适合局部变量。SqlSessionFactory应保持全局唯一,可采用单例模式。而SqlSession每个线程应有独立实例,非线程安全,使用后务必关闭。理解这些概念对于避免并发问题至关重要。
生命周期和作用域是至关重要的,错误的使用会导致非常严重的并发问题。
SqlSessionFactoryBuilder:
一旦使用就会被丢弃,所以最好设置为局部变量
SqlSessionFactory:
一旦被创建就应该在运行期间一直存在,没有任何理由丢弃它或重新创建一个。所以设置为单例模式或者静态单例模式。
SqlSession:
每个线程都有它自己的SQLSession实例,SQLSession的实例不是线程安全的。所以最好也设置为局部变量,并且需要记得每次使用完之后进行关闭操作。
170
680
347

被折叠的 条评论
为什么被折叠?