mybatis动态sql之bind标签

时间:2022-01-16 01:36:51

<select id="" resultType="">
    select * from tbl_employee where last_name like #{lastName}
</select>

一般我们进行模糊查询时,都会在java端输入:

 List<Employee> employees = mapper.getEmpByLastNameLike("%小%");

如果我们想在xml文件中进行这种处理:

"%#{lastName}%"

这样肯定是不行的,#{}只是个占位符,"%#{lastName}%"会被当做一整个字符串。

当然我们可以这样做:

"%${lastName}%"

但是这样不安全,此时就可以使用bin标签:

<select id="" resultType="">
    <bind name="_lastName" value="‘%‘ lastName ‘%‘"/>
    select * from tbl_employee where last_name like #{_lastName}
</select>

说明:bind标签中name是为该值取别名,value是其具体的值,可以使用ongl表达式。