有关 Mybatis 中使用el表达式问题

最近遇到一些 问题 就是mybatis中是否可用 使用 el的表达式,我原先同事很是否定 el表达式,但是 我在想 标签下可用使用的,为什么到mybatis中就不可以使用,难道 用了两套的规则,然后我就去 试验一波,后来发现 并不是不可以用 其实就是我们很少使用 el表达式 在 mybatis中,本能的反应不可能可用,但是 事实结果 是可用的。好了 下面总结一下 ,el表达式在在 mybatis的中的使用,应为mybatis 最终全部转化为 ognl。

1. mybatis中 对于字符串 相等的判断对于的操作符

<if test="username != null and 'hello' eq username"></if>
<if test="username != null and 'hello' == username"></if>
<if test="username != null and '' != username"></if> 
 <if test="username != null and ''  neq username"></if>
eq对应==
neq对应!=

其实这两个没什么差别。

2. 对应参数判断大小之类的

<if test='id != null and id > x'></if>
<if test='id != null and id gt x'></if>
gt对应>
gte对应>=
lt对应< (在条件判断的时候,test不能包含 '<' 字符)
lte对应<= (在条件判断的时候,test不能包含 '<' 字符)

3. 特定字符有问题,某业务需要

4. 判断list 是否为空

<if test="list != null and list.isEmpty()"></if> , 
<if test="list != null and list.size()>0"></if>

大体就是这样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值