- SqlSessionFactoryBuilder:创建构建工厂,它的生命周期是短暂的,
- SqlSessionFactory:应该有一份就可以,单例对象。(在程序中只有一个对象)
- SqlSession:底层对应connection连接,每一个线程都应该对应一个SqlSession,因为只有一个SqlSession的话就意味着只有一个connection,就会出现线程安全问题。比如线程1和线程2共享使用一个connection(SqlSession),那么线程1做了insert动作但是没有提交,线程2做了insert动作提交了connection,线程1的事务也会被强迫提交,这样出现线程安全数据错乱的问题
推荐:MyBatis 四大核心组件的生命周期 写的很好