MyBatis 是 Java 持久层框架的一种,能够使使用 JDBC 更加简单化。 MyBatis 需要通过加载配置文件,建立与数据库的连接。下面将讲解两种 MyBatis 加载配置文件的方法。
方法一:使用 SqlSessionFactoryBuilder
加载
SqlSessionFactoryBuilder
是 MyBatis 中用于创建 SqlSessionFactory
的工具类,可以通过此类来加载 MyBatis 配置文件进行初始化。
首先创建 SqlSessionFactoryBuilder
对象:
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
接着使用 build
方法加载配置文件并创建 SqlSessionFactory
对象:
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = builder.build(inputStream);
这里需要注意,获取配置文件的方式可以使用 Resources
工具类的 getResourceAsStream
方法,需要引入 org.apache.ibatis.io.Resources
包。
方法二:使用 SqlSessionFactory
加载
SqlSessionFactory
是一个数据库连接池,是 MyBatis 的一个核心类,可以通过此类加载 MyBatis 配置文件进行初始化。与方法一不同的是,方法二不需要使用 SqlSessionFactoryBuilder
。
创建 SqlSessionFactory
对象:
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
在此之后,可以通过 openSession()
方法来建立连接并进行数据库的相关操作。
以上就是 MyBatis 加载配置文件的两种方法的详细攻略。下面附上两个示例。
示例一:使用 SqlSessionFactoryBuilder
加载
public class MybatisTest {
public static void main(String[] args) throws IOException {
// 1. 创建 SqlSessionFactoryBuilder 对象
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
// 2. 加载配置文件并获取 InputStream 对象
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
// 3. 使用 builder 对象创建 SqlSessionFactory 对象
SqlSessionFactory sqlSessionFactory = builder.build(inputStream);
// 4. 开始数据库操作
try (SqlSession session = sqlSessionFactory.openSession()) {
StudentMapper mapper = session.getMapper(StudentMapper.class);
Student s = mapper.getStudentById(1);
System.out.println(s);
}
}
}
示例二:使用 SqlSessionFactory
加载
public class MybatisTest {
public static void main(String[] args) throws IOException {
// 1. 加载配置文件并获取 InputStream 对象
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
// 2. 创建 SqlSessionFactory 对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 3. 开始数据库操作
try (SqlSession session = sqlSessionFactory.openSession()) {
StudentMapper mapper = session.getMapper(StudentMapper.class);
Student s = mapper.getStudentById(1);
System.out.println(s);
}
}
}
注意:以上示例中的 StudentMapper.class
是自定义的一个 Mapper
接口,需要实现 StudentMapper.xml
中的相关 SQL 语句。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mybatis 加载配置文件的方法(两种方式) - Python技术站