您的位置:首页 > 数据库

MyBatis3 SqlSessionFactory

2011-03-02 14:33 141 查看
SqlSessionFactoryBuilder:

用于建立SqlSessionFactory的工具类,在创建 SqlSessionFactory以后无需再让它存在于应用程序中,文档上说它的生命周期最好在局部方法内,所以在代码中看到

//根据资源文件内容建立session工厂

SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);

没用引用指向 SqlSessionFactoryBuilder,会被gc回收。

SqlSessionFactory:

一旦建立,SqlSessionFactory就应该存在于整个应用程序生命周期,因为根据资源文件建立SqlSessionFactory对象
需要很大的开销,所以保留在整个应用的生命周期中,最佳实践中推荐使用spring等依赖注入的框架从而管理SqlSessionFactory的单例生
命周期。

SqlSession:

每一个线程都应该有自己的SqlSession对象,SqlSession对象不是线程安全的所以不应该被共享,如果使用web框架,应该将
SqlSession的生命周期看作HTTP Request的生命周期,在返回HTTP Response的时候关闭SqlSession
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: