/*
* sqlsession 工具类
*/
public class SqlSessionFactoryUtil {
private static SqlSessionFactory factory;
private final static String resource = "mybatis-config.xml";
private static SqlSession sqlsession = null;
@SuppressWarnings("unused")
private static SqlSessionFactory getFactory() {
if (factory == null) {
InputStream is = null;
try {
is = Resources.getResourceAsStream(resource);
factory = new SqlSessionFactoryBuilder().build(is);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return factory;
}
/*
* 得到sqlsession 对象
*/
public static SqlSession openSession(){
if (sqlsession==null) {
sqlsession = getFactory().openSession() ;
}
return sqlsession;
}
/*
* 返回对应类型的映射
*/
public static<T> T getMapper(Class<T> className){
return openSession().getMapper(className);
}
public static void commit(){
openSession().commit();
sqlsession.close();
sqlsession = null;
}
}