MyBatis核心对象
1.SqlSessionFactory
- 一旦被创建,SqlSessionFactory 应该在你的应用执行期间都存在。没有理由来处理或重新创建它。 使用SqlSessionFactory 的最佳实践是在应用运行期间不要重复创建多次。 这样的 操作将被视为是非常糟糕的。 因此 SqlSessionFactory 的最佳范围是应用范围。 有很多方法可 以做到, 最简单的就是使用单例模式或者静态单例模式。
- mybatis和spring整合后,使用单例模式管理sqlSessionFactory。
- SqlSession是一个面向用户(程序员)的接口。
- SqlSession中提供了很多操作数据库的方法:如:selectOne(返回单个对象)、selectList(返回单个或多个对象)。
- SqlSession是线程不安全的,在SqlSesion实现类中除了有接口中的方法(操作数据库的方法)还有数据域属性。 – SqlSession最佳应用场合在方法体内,定义成局部变量使用
静态单例模式:
private static SqlSessionFactory factory;
//静态初始化块,只执行一次
static
{
try {
InputStream is=Resources.getResourceAsStream("mybatis/mybatis-config.xml");
factory=new SqlSessionFactoryBuilder().build(is);
} catch (Exception e) {
e.printStackTrace();
}
}