由于在Mybatis框架的xml中,我们常用的大于(>)小于(<),大于等于(>=)小于等于(<=)解析的时候会经常出问题,导致编译报错,所以就需要对其进行转译才能通过。
以下是我整理出来记录在这里方便以后使用,也希望能帮助用到的小伙伴哦~~~
左边就是原来的符号,右边就是在mybatis中代替的符号
原符号 | Mybatis中替换的符号 | 备注 | 例子 |
> | > | A > B | |
>= | >= 或者 <![CDATA[>= ]]> | A >= B 或者 A <![CDATA[>= ]]> B | |
< | < | A < B | |
<= | <= 或者 <![CDATA[<= ]]> | A <= B 或者 A <![CDATA[<= ]]> B | |
!= | <![CDATA[ <> ]]> 或者 <![CDATA[!= ]]> | A <![CDATA[ <> ]]> B 或者 A <![CDATA[!= ]]> B | |
"" | " | 双引号 | |
'' | ' | 单引号 | |
& | & | A & B |
显示详细信息
实例说明
SELECT * FROM uoa_daily WHERE <if test="daily.createUser != null and daily.createUser != ''"> create_user != #{daily.createUser} </if> <if test="daily.departmentId != null and daily.departmentId != ''"> and department_id = #{daily.departmentId} </if> <if test="daily.type != null and daily.type != ''"> and `type` = #{daily.type} </if> AND id IN ( SELECT daily_id FROM uoa_daily_read_log WHERE create_user = #{daily.createUser} ) AND DATE_SUB(CURDATE(), INTERVAL 30 DAY) <![CDATA[ <= ]]> DATE(create_time) ORDER BY create_time DESC LIMIT #{current}, #{size}
完结!