1. new SqlSessionFactoryBuilder.build(is);//is:mybatis-config.xml配置文件读入流中
1. 创建XmlConfigBuilder对象解析xml文件
2. 通过XPathParser对象的evalNode()方法,传入"/configration", 表示解析configration标签下的所有内容,返回的是XNode对象,里面封装的就是Node节点
3. 通过XNode解析, properties, settings, typeAlias, environments, mappers标签,并对其进行默认初始化
property标签, 会getStringAttribute("url"/"resource")解析出xml中配置的参数,全部设置到Configration variables(HashMap)属性中
settings :
"localCacheScope", "SESSION" , 开启一级缓存, 和sqlSession生命周期一致, 单个crud标签, 结束就销毁
"defaultExecutorType", "SIMPLE" ,普通执行器 ; REUSE 会重用预处理语句(prepared statements); BATCH 执行器将重用语句并执行批量更新
"mapUnderscoreToCamelCase" ,false
"useGeneratedKeys", false
4. XMLMapperBuilder解析mapper标签
判断子标签 :
package标签 , getStringAattribute("name")值, 添加到MapperRegistery中, 键就是name属性值(包名),value就是对应类的字节码对象
else 就是mapper标签, getStringAttribute("resource"), url=chi
mybatis创建SqlSession过程
最新推荐文章于 2024-05-10 15:09:28 发布