ibatis xml文件解析自行实现

一切从简的原则,尽可能显露出ibatis处理xml的骨架,剔除那些额外的处理部分。
只保留io读取和xml如何转换的东西。

在这里插入图片描述

Resource类是根据路径读取对应的InputStream文件的流
XmlParser类是根据对应的文件流解析xml
SqlMapConfigParser 是对xmlParser的类的封装,形成一个对外接口

public static void main(String[] args) throws IOException {
    String resours = "SqlMapConfig.xml";
    InputStream inputStream = Resource.getResourceAsStream(resours);

    new SqlMapConfigParser().parse(inputStream);
}

SqlMapConfigParser类的内容

protected final XmlParser parser = new XmlParser();
public SqlMapConfigParser() {
}
public void parse(InputStream inputStream) {
 try {
   parser.parse(inputStream);
 } catch (Exception e) {
   throw new RuntimeException("Error occurred.  Cause: " + e, e);
 }
}

为了最大可能的实现源码,以及在学习后自己能够将其对应的功能复现。除设计模式和特定功能外,其他都删减掉。还原ibatis在某一个功能,它是如何处理的。这样更加具有学习意义。
源码地址: https://gitee.com/cnhellorui/some_source_code/tree/master/xmlParser

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值