配置文件解析是使用iBatis的第一步。那么,ibatis是如何实现其配置文件解析呢?本文将在较高的抽象层次上讲述ibatis配置文件解析的总体流程。
一切都从new SqlMapConfigParser().parse(reader);这条语句开始的。这条语句包含了ibatis配置文件解析的全部内容。这条语句包括两部分内容:创建sqlMapConfigParser对象和执行器parse方法。下面就分别来讲述这两部分内容究竟做了些什么工作。
首先看一下SqlMapConfigParser对象创建时执行了哪些操作。
第一个操作:创建NodeletParser对象,这个类定义了配置文件解析的通用模板方法,即如何遍历配置文件并进行处理。
第二个操作:创建XmlParserState对象,这个类的用途暂时可以先不关注。
第三个操作:执行构造函数。在构造函数中进行了配置文件的验证,以及Nodelet的注册。这里就会有两个疑问了,Nodelet是干什么的,被注册到哪里了。
先说明一下Nodelet的作用,Nodelet是ibatis节点解析的抽象接口,定义如下:
一个Nodelet接口的实现类能够处以一类xml节点。然后就是Nodelet实现类的注册了,在SqlMapConfigParser类的构造函数中,将SqlMapConfig配置文件相关的节点的解析类(Nodelet的实现类)注册到letMap中。这是letMap是一个Map,是NodeletParser的一个属性,其key为xpath,value为Nodelet实现类的实例。这个注册后letMap会在xml文件解析中被使用。
以上这些操作都是在为配置文件的解析做准备,接下来就要看ibatis是如何解析配置文件了。先看SqlMapConfigParser的parse方法,它调用了NodeletParser的parse方法,下面看一下具体的实现代码:
以上代码即为ibatis解析配置文件的主要流程了,至于单个节点如何解析和解析后数据存储在什么地方在这里暂不做详细讨论。下面来总结一下ibatis解析配置文件的大体思路:
1. 定义了Nodelet接口,可以处理各种类型的xml节点。
2. 准备工作,注册Nodelet实例,将xpath和Nodelet实例关联起来。
3. 解析,在NodeletParser中,递归解析处理配置文件,根据Node信息生成xpath,根据xpath取得Nodelet实例,并执行其process方法,从而完成了配置文件的解析工作。
分享到:
相关推荐
ibatis 配置文件详解
ibatis配置文件、映射文件详解.doc
ibatis配置文件、映射文件详解,里面详细介绍了ibatis的配置文件以及映射文件的详细解释,通过这你能很好的了解ibatis配置文件以及映射文件的含义。。。
iBATIS是以SQL为中心的持久化层框架。能支持懒加载、关联查询、继承等特性
详细的ibatis配置文件,初来乍到,先打个招呼 ...
ibatis配置文件模板.包括(SqlMap.properties和SqlMapConfig.xml以及跟javabean的映射文件)
ibatis用xml配置文件配置的使用,基本包括了ibatis遇到的所有问题
使用ibatis可以很好的操作数据库,对数据进行怎删改查,自动封装数据
将代码更新到src目录下;即可!对应的ibatis的版本是2.3.4;建议使用同版本测试。 如有改动,请sqlmap的xml文件格式化后保存,这样以便组件发现修改时间不同而重新加载。
Ibatis的主要配置文档,可以方便大家学习使用
ibaits简单操作流程: 第一步:创建POJO类 第二步:创建上述POJO类的IBatis配置文件 第三步:创建IBatis ORM框架的总配置文件SqlMapConfig.xml 第四步:创建一个测试类,检验上述配置 + 类文件
ibatis配置ibatis配置ibatis配置ibatis配置ibatis配置 以及相关资料
iBATIS配置文件详解
SqlMap的配置是iBatis中应用的核心。这部分任务占据了iBatis开发的...Sql Map配置文件是iBatis配置的核心,从数据库连接到执行SQL时使用的sqlMap文件都是通过此文件中的配置提供给框架的,它通常命名为sqlMapConfig.xml
ibatis基础知识详解 ibatis基础知识详解 有详细的注释
关于ibatis的配置和映射 这里的配置文件和映射文件是从网上收集的集合 适合初学的人
常用IBATIS配置,返回新建数据ID,分页查询,查询条件,模糊查询,date时间段,list集合,截止日期
很详细的说明哦 带有图和步骤详解 还有相应文件