mybatis动态sql之bind标签

2020-08-26 11:48:48 浏览数 (1)

代码语言:javascript复制
<select id="" resultType="">
    select * from tbl_employee where last_name like #{lastName}
</select>

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

代码语言:javascript复制
 List<Employee> employees = mapper.getEmpByLastNameLike("%小%");

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

代码语言:javascript复制
"%#{lastName}%"

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

当然我们可以这样做:

代码语言:javascript复制
"%${lastName}%"

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

代码语言:javascript复制
<select id="" resultType="">
    <bind name="_lastName" value="'%' lastName '%'"/>
    select * from tbl_employee where last_name like #{_lastName}
</select>

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

0 人点赞