阶段3 1.Mybatis_03.自定义Mybatis框架_4.自定义mybatis的编码-解析XML的工具类介绍

导入xml操作的类和用到的相关包

创建util包,然后把提供好的XMLConfigBuilder.java文件复制3过来

复制过来,里面用到了很多dom4j的东西

打开pom.xml

输入dependency.然后输入dom4j


这里用到的是dom4j的扩展内容,叫做xpath

用到xmpath就还需要导入包,jaxen

创建configuration

返回值是一个configuration。但是我们还没有这个


放到cfg的包下

我们把 configuration导进来。发现都是存放链接信息的

因为需要在configuration里面定义

生成他们的getter和setter方法
这样这里就都没有错误了 

Mapper

后面还用到了Mapper的类


看我们之前的图,Mapper里面包含两部分。1是要执行的SQL语句 2是封装结果的实体类全限定类名

新建Mapper类。

然后生成getter和setter

读取XML的mapper

下面两段代码,一段是使用XML的,一段是使用注解的。

因为我们这里没有用到注解所以这里先注释掉
下面找到方法体 都注释掉

查看XML的主要代码,首先是找到mappers下面的mapper


mappers有可能是有多个mapper。因此这里进行遍历

取出了Resource的属性值。


判断resource的属性节点是否为null。如果不为null则表示使用的是XML的方式

把获取到的属性值传递到方法loadMapperConfiguration

loadMapperConfiguration方法

首先是定义了一个Mapper,方便查找。

解析xml找到select标签

找到的是这里的xml的select节点

找到xml后,取出id属性的值

最终形成的对象。

Mapppers属性

mapper值返回来后,通过setMappers方法传递进去。这里还缺少一个setMappers的方法


增加Configuration类里面属性 mappers

生成的getter和setter方法

这里的getter使用追加的方式

最后包的问题

红框选中都删除掉。

在注视这里

这样我们有了这个工具类就可以创建Factory了

原文地址:https://www.cnblogs.com/wangjunwei/p/11300029.html