../common/src/main/java/com/xxxxxxx/drvpp/fw/common/mybatis/MyBatisSessionFactory.java
1 
package com.xxxxxxx.drvpp.fw.common.mybatis;
2
3 
import java.io.IOException;
4 
import java.io.Reader;
5
6 
import org.apache.ibatis.io.Resources;
7 
import org.apache.ibatis.session.SqlSession;
8 
import org.apache.ibatis.session.SqlSessionFactory;
9 
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
10
11 
import com.xxxxxxx.drvpp.fw.common.exception.FwRuntimeException;
12
13 
public class MyBatisSessionFactory {
140
	private static String resource = "mybatis.xml";
15 
	private SqlSessionFactory sqlMapper;
16
170
	private static class MyBatisSessionFactoryHolder {
180
		private static final MyBatisSessionFactory instance = new MyBatisSessionFactory();
19 
	}
20
21 
	public static MyBatisSessionFactory getInstance() {
220
		MyBatisSessionFactoryHolder.instance.init();
230
		return MyBatisSessionFactoryHolder.instance;
24 
	}
25
26 
	public static void setResourceName(String name){
270
		resource = name;
280
	}
29
300
	private MyBatisSessionFactory() {
31
320
	}
33
34 
	private void init() {
35 
		Reader reader;
36 
		try {
370
			reader = Resources.getResourceAsReader(resource);
380
			SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
390
			sqlMapper = builder.build(reader);
400
		} catch (IOException e) {
410
			throw new FwRuntimeException(e);
42 
		}
430
	}
44
45 
	public SqlSession openSession() {
460
		return sqlMapper.openSession();
47 
	}
48 
}