创建 SqlSessionFactoryBuilder 实例
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory sqlSessionFactory = builder.build(inputStream);
在这个例子中:
- Resources.getResourceAsStream("mybatis-config.xml") 用于加载 MyBatis 的配置文件。
- SqlSessionFactoryBuilder() 创建了一个新的 SqlSessionFactoryBuilder 实例。
- builder.build(inputStream) 使用配置文件的输入流构建了 SqlSessionFactory。
解析配置文件
SqlSessionFactoryBuilder 的 build 方法可以接受多种类型的参数,其中最常用的是 InputStream。此外,还可以使用 Reader、Properties 等类型的参数。
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = builder.build(reader);
注意事项
- SqlSessionFactoryBuilder 是一个一次性的对象,用完即丢弃。每次创建 SqlSessionFactory 时,都应该使用新的 SqlSessionFactoryBuilder 实例。
- SqlSessionFactory 通常在应用启动时创建一次,然后在整个应用的生命周期中重复使用。这意味着 SqlSessionFactoryBuilder 的生命周期可能比 SqlSessionFactory 更短。
- SqlSessionFactory 一旦创建,它就负责初始化 MyBatis 环境的配置,并且不允许再次修改。
- 配置文件(如 mybatis-config.xml)中包含了 MyBatis 的全局配置,包括数据源、事务管理器、映射文件等。SqlSessionFactoryBuilder 将解析这些配置并生成 SqlSessionFactory。
总体而言,SqlSessionFactoryBuilder 是 MyBatis 中用于加载和解析配置文件,生成 SqlSessionFactory 实例的关键组件。
转载请注明出处:http://www.zyzy.cn/article/detail/7030/MyBatis