bind:可以将OGNL表达式的值绑定到一个变量中,方便后来引用这个变量值
例如,有一个模糊查询,我们可以再传参数的时候在参数里拼好百分号,假如我们按一个用户的名字模糊查询我们在查询参数时可以把参数传为% e%,但是如果我们 在参数没有写百分号,便可以利用bind标签进行绑定百分号:
<select id="getEmployeeByLastName" resultType="com.mybatis.bean.Employee">
<bind name="_lastName" value=" '%'+lastName+'%' ">
select * from tbl_employee
<if test="_parameter != null">
where last_name like #{_lastName}
</if>
</select>
这样写好后,运行时如果传过来的Employee对象不为null,且 lastName=e,则控制台打印的sql语句为:
select * from tbl_employee where last_name like '%e%'
如果用${}这种格式的话可以在sql里直接拼接,就是不安全,可以这样写为:
<select id="getEmployeeByLastName" resultType="com.mybatis.bean.Employee">
select * from tbl_employee
<if test="_parameter != null">
where last_name like ‘%${lastName}%’
</if>
</select>