mybatis之通过单例模式来管理SqlSessionFactory
2017-01-07 13:10
295 查看
SqlSessionFactory是创建SqlSession的工厂,但是创建过程中需要反复加载全局配置文件,这一点是十分耗时的,为了优化项目,最好通过单例模式来管理它,使它只能创建一个对象,配置文件加载一次就可以了。(在mybatis整合spring之后,最好的方式是把sqlsessionfactory交给spring来做单例管理)
背景:由于创建sqlsessionfactory的过程是重复性的,所以干脆做了一个工具类专门生成sqlsessionfactory
实例说明:
背景:由于创建sqlsessionfactory的过程是重复性的,所以干脆做了一个工具类专门生成sqlsessionfactory
实例说明:
package com.oa.utils; import java.io.IOException; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class sqlSessionFactoryUtil { //首先创建静态成员变量sqlSessionFactory,静态变量被所有的对象所共享。 public static SqlSessionFactory sqlSessionFactory = null; public static SqlSessionFactory getSqlSessionFactory() { //如果sqlSessionFactory没有被创建就读取全局配置文件,假如已经被创建过了,就使用已经存在的sqlsessionfactory。 //这样就有了单例模式的效果 if(sqlSessionFactory==null){ String resource = "mybatis/SqlMapConfig.xml"; try { Reader reader = Resources.getResourceAsReader(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return sqlSessionFactory; } }
相关文章推荐
- mybatis之通过单例模式来管理SqlSessionFactory
- Mybatis 通过SqlSessionManager SqlSessionFactory 构建线程安全的
- MyBatis-Spring-SqlSessionFactoryBean
- Spring3 整合MyBatis3 配置多数据源 动态选择SqlSessionFactory
- Spring3 整合MyBatis3 配置多数据源 动态切换 选择SqlSessionFactory
- MyBatis SqlSessionFactory的几种常见创建方式
- MyBatis+Spring-SqlSessionFactoryBean
- MyBatis-Spring-SqlSessionFactoryBean
- MyBatis启动:SqlSessionFactory的建立过程
- MyBatis中如何通过继承SqlSessionDaoSupport来编写DAO(二) 推荐
- SqlSessionFactoryBean的事务管理器技术探究
- MyBatis-Spring-SqlSessionFactoryBean
- mybatis-spring学习笔记之SqlSessionFactoryBean
- 第三章 SqlSessionFactoryBean(MyBatis)
- mybatis-spring整合总结02_SqlSessionFactoryBean
- mybatis源码分析(1)——SqlSessionFactory实例的产生过程
- Mybatis中sqlsessionfactory和sqlsesstion的作用范围
- MyBatis-Spring-SqlSessionFactoryBean
- SqlSessionFactory创建SqlSession测试mybatis的sql
- mybatis与spring整合报错Error creating bean with name 'sqlSessionFactory' defined in class path resource