更新时间:2022-07-22 09:53:33 来源:极悦 浏览2787次
MyBatis小于等于转义的写法是什么?极悦小编来告诉大家。在Mybatis中,SQL语句的大于号(>)和小于号(<)是xml文件中的特殊字符(< >),需要进行转义。
例子:
<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} - 转义>=
</如果>
<if test="EndTime !=null and EndTime !=''">
和 CreateTime <![CDATA[ <= ]]> #{EndTime} - 转义 <=
</如果>
</选择>
在mybatis中sql是写在xml映射文件中的,如果sql中有一些特殊字符的话,在解析xml文件的时候就会被转义,如若不希望被转义,那该怎么办呢?
例如,>=开始日期 并且<=结束日期
> > 大于号
< < 小于号
<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>
这里面的内容将不被解析
<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中<=不能使用,需要使用上面任意一种方法转义,但是>=可以使用!
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习