package fr.zng.xxzx.util;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.util.Properties;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;



public class MybatisUtil {
private SqlSessionFactory sqlSessionFactory;

    
    public SqlSessionFactory getSqlSessionFactory() {
        return sqlSessionFactory;
    }


    
    public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) {
        this.sqlSessionFactory = sqlSessionFactory;
    }


    /**
     * instance
     */
    private static MybatisUtil instance = null;


    /**
     * instance 获取
     * @return 数据缓存
     */
    public static MybatisUtil getInstance() {
        if (instance == null) {
            instance = new MybatisUtil();
        }
        return instance;
    }


    /**
     * 
     */
    private MybatisUtil() {
    	//获取配置文件信息
    	InputStream input;
    	Properties props = new Properties();
		try {
			input = this.getClass().getClassLoader().getResourceAsStream("jdbc.properties");
			
			props.load(input);

			input.close();
		} catch (FileNotFoundException ex) {
			ex.printStackTrace();
		} catch (IOException ex) {
			ex.printStackTrace();
		}   
        String resource = "mybatis-config.xml";
        Reader reader = null;
        try {
            reader = Resources.getResourceAsReader(resource);
        } catch (IOException e) {
            e.printStackTrace();
        }
        sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader,props);
    }
}
