SqlSessionFactoryBuilder 是 MyBatis 3 中用于创建 SqlSessionFactory 实例的构建器。它主要负责解析配置文件(通常是 XML 格式的配置文件)并构建相应的 SqlSessionFactory 实例。

创建 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.pingtaimeng.com/article/detail/7030/MyBatis