首页 > 编程开发 > Java    日期:2021-04-22 / 浏览

在mybatis中sql是写在xml映射文件中的,如果sql中有一些特殊字符的话,在解析xml文件的时候就会被转义,如若不希望被转义,那该怎么办呢?

方法一:使用特殊转义字符

例如,>=开始日期 并且<=结束日期

&gt;  >  大于号 

&lt;  <  小于号 

   <if test="searchTimeBegin != null and searchTimeBegin != ''">
       AND tcci.consume_time &gt;= CONCAT(#{searchTimeBegin},' 00:00:00')
   </if>
   <if test="searchTimeEnd != null and searchTimeEnd != ''">
       AND tcci.consume_time &lt;= CONCAT(#{searchTimeEnd},' 23:59:59')
   </if>

符号 小于 小于等于 大于 大于等于 单引号 双引号
原符号 < <= > >= & ' "
替换符号 &lt; &lt;= &gt; &gt;= &amp; &apos; &quot;

方法二:使用<![CDATA[ ]]>符号

这里面的内容将不被解析

    <if test="beginTime!=null">
      AND DATE (os.show_start_time) >= DATE(#{beginTime})
    </if>
    <if test="endTime!=null">
      AND DATE (os.show_start_time) <![CDATA[<=]]> DATE(#{endTime})
    </if>

在mybatis中<=不能使用,需要使用上面任意一种方法转义,但是>=可以使用!

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章