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>