package mybatis.test;
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;
/** 通过单例模式管理SqlSessionFactory对象 */
public class SqlSessionFactoryUtil {
private SqlSessionFactoryUtil() {
}
/* 恶汉式 */
private static SqlSessionFactory sqlSessionFactory;
static {
Reader reader;
try {
reader = Resources.getResourceAsReader("mybatisConfig.xml");
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
sqlSessionFactory = builder.build(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSessionFactory getSqlSessionFactoryInstance() {
return sqlSessionFactory;
}
/*
* 懒汉式:
* private static SqlSessionFactory sqlSessionFactory = null;
* //synchronized 防并发
* public synchronized static SqlSessionFactory getSqlSessionFactoryInstance() {
* if (sqlSessionFactory != null) {
* return sqlSessionFactory;
* } else {
Reader reader;
try {
reader = Resources.getResourceAsReader("mybatisConfig.xml");
SqlSessionFactoryBuilder
builder = new SqlSessionFactoryBuilder();
sqlSessionFactory = builder.build(reader);
} catch (IOException e) {
e.printStackTrace(); }
return sqlSessionFactory;
* }
* }
*/
}