Mybatis使用大於等於或小於等於進行比較

前言

今天有一個需求,把之前的判斷邏輯進行修改,之前我是用大於(>)小於(<)進行對比的,但是今天讓改成大於等於(>=)和小於等於(<=)進行比較

本來以為是一個很簡單的操作。

但是還是菜瞭不少坑的,今天就和大傢一起分享下:

常見轉義符

常見的一些轉義符如下:

前提聲明

首先我一開始是大於小於的,就是正常的這樣的格式。

然後按照上面的一些轉義符,換成ge,le

發現直接報錯,或者就是編碼不成功,至於這個錯怎麼解決,我還沒有找到解決方案

使用CDATA 區段

然後我就繼續想解決辦法,最終發現可以使用CDATA 區段進行拼接,而且在CDATA 區段裡面還可以不用轉義,直接使用原生比較方式即可:

<if test="projectBiddVO.openFlag!=null and projectBiddVO.openFlag!=''">
          and open_bidd_time <![CDATA[ >= ]]>now()
</if>
 <if test="projectBiddVO.performanceFlag!=null and projectBiddVO.performanceFlag!=''">
          and open_bidd_time <![CDATA[ <= ]]> now()
</if>
含義 符號表示
大於 <![CDATA[ > ]]>
小於 <![CDATA[ < ]]>
大於等於 <![CDATA[ >= ]]>
小於等於 <![CDATA[ <+ ]]>
不等於 <![CDATA[ <> ]]>/<![CDATA[ != ]]>

測試

重啟服務,可以看到,按照我們想要的效果進行轉義瞭:

總結

到此這篇關於Mybatis使用大於等於或小於等於進行比較的文章就介紹到這瞭,更多相關Mybatis 大於等於或小於等於內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: