bind标签可以使用OGNL表达式创建一个变量并将其绑定到上下文中
bind的两个参数都是必须的:
name:绑定到上下文的变量名
value:ONGL表达式
<select id="search" resultType="java.util.Map">
<bind name="searchItem" value=" '%' + search + '%' "/>
SELECT
ID AS "id",
NAME AS "value"
FROM
table1
WHERE
1 = 1
<if test='""!= search'>
AND SEARCH_NAME LIKE #{searchItem} OR SEARCH_ID LIKE #{searchItem}
</if>
<if test='""== search'>
ORDER BY ORDER_NUM+0
LIMIT 10
</if>
</select>
ONGL表达式
ONGL(Object-Graph Navigation Language),对象图形化导航语言。是一种可以方便地操作对象属性的开源表达式语言
特点:
- 支持对象方法调用 如obj.getMethodName();
- 支持静态的方法调用和值访问,表达式的格式为
@[类全名(包含包路径)]@[方法名|值名]
,如:@java.lang.String@format('foo %s','bar')
- 支持赋值操作和表达式串联
- 访问ONGL上下文(ONGL context)和ActionContext
- 操作集合对象