SqlSessionFactoryUtil

来源:互联网 发布:ubuntu 字库 编辑:程序博客网 时间:2024/06/06 03:36


1. SqlSessionFactoryBuilder  这个类的作用是根据主配置文件来创建SqlSessionFactory工厂实例,一旦创建,则可以丢弃。

2. SqlSessionFactory对象。这个类的作用是创建SqlSession对象,此对象只需要一个就可以了,所以我们通常做成单例模式。

3. SqlSession对象包含了所有执行的SQL操作方法,用于执行已经映射了的SQL语句,操作完毕一定要关闭。

构建方式: 


package com.etc.util;



import java.io.IOException;
import java.io.InputStream;


import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;


//辅助类。创建SqlSession对象
public class SqlSessionFactoryUtil {
static SqlSessionFactory factory = null;
static InputStream is = null;
static {//用一个静态块读取配置文件,获取返回的文件流。静态块在编译时就初始化
try {
is = Resources.getResourceAsStream("config/mybatis-config.xml");
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
//采用单例模式来保证工厂创建唯一
public static SqlSessionFactory getSqlSessionFactory(){
if(factory == null) {
//创建SqlsessionFactory工厂
factory = new SqlSessionFactoryBuilder().build(is);
}
return factory;
}
//获取SqlSession对象
public static SqlSession getSqlSession() {

return getSqlSessionFactory().openSession();
}


}
0 0