更新時(shí)間:2022-07-22 09:53:33 來源:動(dòng)力節(jié)點(diǎn) 瀏覽3349次
MyBatis小于等于轉(zhuǎn)義的寫法是什么?動(dòng)力節(jié)點(diǎn)小編來告訴大家。在Mybatis中,SQL語句的大于號(hào)(>)和小于號(hào)(<)是xml文件中的特殊字符(< >),需要進(jìn)行轉(zhuǎn)義。
例子:
<select id="getListCount" resultType="int" parameterType="java.util.HashMap">
SELECT * FROM V_gsuserbanding AS tm WHERE 1=1
<if test="UserName !=null and UserName !=''">
和像 "%"#{UserName}"%" 這樣的用戶名
</如果>
<if test="BeginTime !=null and BeginTime !=''">
和 CreateTime <![CDATA[ >= ]]> #{BeginTime} - 轉(zhuǎn)義>=
</如果>
<if test="EndTime !=null and EndTime !=''">
和 CreateTime <![CDATA[ <= ]]> #{EndTime} - 轉(zhuǎn)義 <=
</如果>
</選擇>
在mybatis中sql是寫在xml映射文件中的,如果sql中有一些特殊字符的話,在解析xml文件的時(shí)候就會(huì)被轉(zhuǎn)義,如若不希望被轉(zhuǎn)義,那該怎么辦呢?
例如,>=開始日期 并且<=結(jié)束日期
> > 大于號(hào)
< < 小于號(hào)
<if test="searchTimeBegin != null and searchTimeBegin != ''">
AND tcci.consume_time >= CONCAT(#{searchTimeBegin},' 00:00:00')
</if>
<if test="searchTimeEnd != null and searchTimeEnd != ''">
AND tcci.consume_time <= CONCAT(#{searchTimeEnd},' 23:59:59')
</if>
這里面的內(nèi)容將不被解析
<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中<=不能使用,需要使用上面任意一種方法轉(zhuǎn)義,但是>=可以使用!
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743