1.简要思路分析
1.1配置文件的编写
一般存在两种配置文件,分为两份的目的是:利于维护。如果需要修改sql语句,只需要找到针对的映射文件即可
1)全局配置文件(会加载映射文件) 存放数据库环境参数+声明映射文件地址
2)映射文件 返回集,sql
1.2加载配置文件
加载流程如下:
1)获取配置文件路径
2)获取inputSteam
3) 创建document对象
4)解析document对象
5)使用Configuration对象将配置文件进行封装
1.3开放SqlSesesion接口
开放CURD的API给JAVA开发者进行使用,不需要频繁的建立JDBC等相关操作
2.解析SqlMapConfig
使用Dom4j进行XML解析
此处就是按照1.2的流程进行解析(Mapper的基础解析也是如此,不过内部解析有差异)
利用面向对象的思想,将所有的解析都交给独特的类进行解析,不要在此处一次性加载完成。
内部主要有两个部分,一个是Environments部分,一个是Mappers部分,分为两个方法进行解析(Mappers的解析下章见)
注意规范,需要默认ID和env的Id相同才能继续解析
解析配置参数,最终结果是将所有的配置信息都封装到Configuration中,因此Configuration一定存在一个数据源对象
以下是解析对象并创建DataSource对象,放入到Configuration中
GITHUB仓库地址