Mybatis 的使用,首先需要构建一个SqlSessionFactory 实例。而该实例可以通过SqlSessionFactoryBuilder来创建。
String resource = "org/mybatis/example/Configuration.xml";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(reader);
这个是加载SqlSessionFactory的过程,下面来看看Resources类。Resources类定义了一系列加载配置文件的方法。
一般都是通过 ClassLoader 的几个方法来加载配置文件。getResource() getResourceAsStream()等等方法。如果是Properties文件。这可以通过Properties类加载inputStream 获得配置信息。
下面来看看SqlSessionFactoryBuilder类:
采用工厂模式,分别根据不同的配置信息来构建SqlSessionFactory。这些builder方法最后归为两种处理,分别是从Reader中获取初始的配置信息,或者是从InputStream中获取配置信息。最后都是将输入流闯入XML解析类类XMLConfigBuilder类解析XML。得到一个Configuration 对象。用该对象生成一个DefaultSqlSessionFactory。
new DefaultSqlSessionFactory(config)
加载的配置文件包含如下内容:
分别解析并验证每个接点的属性。