从零开始系列——Mybatis会话工厂

会话工厂类

目的:如果每一次的CRUD操作都需要读取Mybatis的核心配置文件,这样就会造成资源的浪费。可以将打开数据库连接的方法编写成一个工具类,在Dao中就可以直接调用。

 

设计思路:如果每一次都需要创建一个工厂类对象,也会造成资源的浪费。解决的办法就是将把这个工厂类设计成单例模式

 

单例模式:保证一个类只有一个实例,并且可以全局访问

 

单例模式必备的三个条件:

步骤1.私有化静态类对象,类加载的那一刻,就进行实例化

private static DaoFactory daoFactory = new DaoFactory();

步骤2.私有化构造方法,确保该类不会被外部进行实例化操作。在里面初始化Mybatis的配置

private DaoFactory(){
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
try {
sqlSessionFactory = sqlSessionFactoryBuilder.build(Resources.getResourceAsReader("DataConfig.xml"));
} catch (IOException e) {
e.printStackTrace();
}
}

步骤3.创建一个公共静态方法,用于获得类对象。

public static DaoFactory getInstence(){
return daoFactory;
}

 

getInstence()用于获得SqlSession对象,Mybatis支持手动提交事务,这里设置成false

public SqlSession getSession(){
return sqlSessionFactory.openSession(false);
}

 

 

 

 

 

 

物联沃分享整理
物联沃-IOTWORD物联网 » 从零开始系列——Mybatis会话工厂

发表评论