您的位置:首页 > 数据库

Mybatis 单例获取SqlSessionFactory

2017-11-27 15:27 483 查看

Mybatis 单例获取SqlSessionFactory

`

package com.test.mybatis.utils;

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;

/**

* @author zcj

* @date 2017年11月27日 下午1:44:40

* @function

* @version 1.0

* @since

*/

public class SqlSessionFactoryUtils {

//获取当前对象用于加锁
private final static Class<SqlSessionFactoryUtils> LOCK = SqlSessionFactoryUtils.class;
//空参构造
private SqlSessionFactoryUtils(){}
//创建SqlSessionFactory对象
private static SqlSessionFactory sqlSessionFactory = null;

//获取SqlSessionFactory方法
public static SqlSessionFactory  getSqlSessionFactory(){
synchronized(LOCK){
if( null != sqlSessionFactory  ){
return sqlSessionFactory;
}
InputStream stream = null;
String resources = "mybatis-config.xml";
try {
stream = Resources.getResourceAsStream(resources);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(stream);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
return sqlSessionFactory;
}

//获取SqlSession
public static SqlSession openSqlSession(){

if( null == sqlSessionFactory ){
getSqlSessionFactory();
}
return sqlSessionFactory.openSession();
}


}

`
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybatis