快捷搜索: 长连接 前端 源码 pan

mybatis ![CDATA[ ]] 使用,小于大于号转义 和小于号大于号使用

CDATA

在今天使用Mybatis的xml文件中写sql语句时写入了一些特殊字符 如 < > & 等,但解析xml文件的时候会被转义,事实上并不希望它被转义,可以使用<![CDATA[ sql ]]>. 这是XML语法,在CDATA内部的所有内容都会被解析器忽略. 但是因此会导致<if test=""></if> <where></where> <choose></choose> <trim></trim>等标签本身功能失效,所以使用时把带有特殊字符的语句或字符本身放在<![CDATA[ ]]>内即可,即尽量精确其作用范围.

代码如下:

select ( CASE WHEN end_t <![CDATA[<]]> NOW() THEN 已结束 WHEN t2 <![CDATA[>]]> NOW() THEN 未开始 WHEN (t2 <![CDATA[<=]]> NOW() AND end_t <![CDATA[>=]]> NOW()) THEN 进行中 END ) t3, <include refid="Base_Column_List" />


小于号大于号

mybatis 中 SQL 写在mapper.xml文件中,而xml解析 < 、>、<=、>= 时会出错,这时应该使用转义写法。

方式一

< <= > >= & " &lt; &lt;= &gt; &gt;= &amp; &apos; &quot;

示例:

num &gt;= #{num}

命名由来(gt、lt):

经验分享 程序员 微信小程序 职场和发展