打算一般看MYBATIS官方文档,一边看源码,提升一下自己的编程水平。
1.文件解析
要在项目中使用Mybatis,第一步就是根据配置文件构建SqlSessionFactory了,官网上给出的示例如下:
String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory =
new SqlSessionFactoryBuilder().build(inputStream);
首先通过Resources类将XML文件转化为InputStream,然后再操作InputStream来构建SqlSessionFactory。
将文件资源先转化为InputStream的思路,在spring框架中也是一样的。有时间可以研究一下两者的差异。
同时,很明显 build 函数就是解析配置文件的入口函数,扒一下源码,如下:
public SqlSessionFactory build(InputStream inputStream) {
return build(inputStream, null, null);
}
public SqlSessionFactory build(InputStream inputStream, String environment, Properties properties) {
try {
//构建XMLConfigBuilder对象
XMLConfigBuilder parser = new XMLConfigBuilder(inputS