Myatis之bind标签

myBatis的bind的标签,一般的用法都是

<if test="name!= null and name!= '' ">
  <bind name="userLike" value=" '%' + name+ '%' "/>
  and user_name like #{userLike}
</if>

  

但是,当bind和OGNL结合使用时,用处还是大大的

ognl的用法借用这位的文章 https://www.cnblogs.com/wgj-master/p/7891289.html

MyBatis常用的OGNL

e1 or e2
e1 and e2
e1 == e2,e1 eq e2
e1 != e2,e1 neq e2
e1 lt e2:小于
e1 lte e2:小于等于,其他gt(大于),gte(大于等于)
e1 in e2
e1 not in e2
e1 + e2,e1 * e2,e1/e2,e1 - e2,e1%e2
!e,not e:非,求反
e.method(args)调用对象方法
e.property对象属性值
e1[ e2 ]按索引取值,List,数组和Map
@class@method(args)调用类的静态方法
@class@field调用类的静态字段值

  

例:

  <bind name="xxx"  value="@com.xx.mybaits.Abc@aa(item, 'a','b')"/>

这里xxx为bind的名字,item为mapper传递的参数,后面为传的字符串

通过bind,我们可以通过java代码设置自定义的值,也可以进行一些判断,如果不符合判断,抛出异常,还是很灵活的

原文地址:https://www.cnblogs.com/jaxlove-it/p/11978729.html