当Sql语句中包含特殊字符时,例如:

  <select id="SelectOnePerson" resultMap="PersonModel">
      select * from person where Id <> #Id#
  </select>

上面Sql语句,是查询出所有Id不等于 #Id#的数据,但是直接这样写,XML就会报错,所以需要对 <> 进行转义

ibatis.net 中用<![CDATA[ ... ]]>标记来进行转义,<![CDATA[  ]]>里所有的内容都会被XML解析器忽略;

<![CDATA[ ... ]]> 标明是纯文本的,没有这个的话 <  >  & 字符是不能直接存入XML的,需要转义,而用这个标记则不需要转义而将这些符号存入XML文档;

可以避免未预料的特殊符号导致XML解析出错;

正确写法:

    <select id="SelectOnePerson" resultMap="PersonModel">
      <![CDATA[select * from person where Id <> #Id#]]>      
    </select>

 

 posted on 2018-04-03 14:23  天空划落  阅读(289)  评论(0编辑  收藏  举报