在JAVA解析XML中,是把XML当做一棵树来处理的,每个节点有自己的内容,有自己的子结点。但是我最近想起前些日子用ibatis的过程中碰到的配置文件,简略写如下:
<select id="querySecMsgs" resultMap="msgResult" parameterClass="map">
select msg_id, msg_type,type_name,msg_name, msg_desc
from sec_msg
<dynamic prepend="where">
<isNotNull property="msg_desc" prepend="AND">
msg_desc like #msg_desc#
</isNotNull>
</dynamic>
ORDER BY TYPE_NAME
</select>
可以看到,内容是一个SQL语句,但是在内容的中间还有自己的子结点,这个是怎么解析的?怎么判断这个子结点(DYNAMIC结点)的位置?怎么判断子结点前面的内容和后面的内容?
<select id="querySecMsgs" resultMap="msgResult" parameterClass="map">
select msg_id, msg_type,type_name,msg_name, msg_desc
from sec_msg
<dynamic prepend="where">
<isNotNull property="msg_desc" prepend="AND">
msg_desc like #msg_desc#
</isNotNull>
</dynamic>
ORDER BY TYPE_NAME
</select>
可以看到,内容是一个SQL语句,但是在内容的中间还有自己的子结点,这个是怎么解析的?怎么判断这个子结点(DYNAMIC结点)的位置?怎么判断子结点前面的内容和后面的内容?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货