在MyBatis 使用中,如果没个方法执行时都需要读取配置文件,并根据配置文件的信息构建SqlSessionFactory对象,然后创建SqlSession 对象,这会导致类大量的重复代码。为了简化开发,需要将重复代码封装到一个工具类中。如下。
package com.kangxg.utils;
import java.io.Reader;
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 = null;
//初始化 SqlSessionFactory 对象
static {
try{
//1 读取配置文件
String resource ="mybatis-config.xml";
Reader reader = Resources.getResourceAsReader(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader );
}
catch(Exception e)
{
e.printStackTrace();
}
}
//获取 SqlSession 对象的静态方法
public static SqlSession getSession()
{
return sqlSessionFactory.openSession();
}
}
在单元测试文件中的 使用方法:
import com.kangxg.utils.*;
SqlSession sqlSession = MybatisUtils.getSession();