MyBatis工具类
在日常开发中,我们为了简化代码页面,通常将一下代码封装成工具,以便在使用时直接调用即可。
String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
MyBatisUtils.java
package com.gu.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;
public class MyBatisUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
String resource = "myBatis.cfg.xml";
InputStream inputStream;
inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder()
.build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSession getSession(){
return sqlSessionFactory.openSession(true);
}
public static void close(SqlSession sqlSession){
if(sqlSession!=null){
sqlSession.close();
sqlSession=null;
}
}
}
注意,在以上代码中,获得SqlSession的对象时,openSession(true)代表自动开启提交事务服务了。