mybatis中llike模糊查询中#和$的使用,以及bind标签的使用

关于#{}和${}就是jdbc中的预编译和非预编译

1.表达式: name like"%"#{name}"%"

打印的日志

==>  Preparing: select * from user WHERE name like"%"?"%"

==>Parameters: 傻(String), 1(Integer)

能够查询出来,没有问题,这是使用了占位符来占位,写成SQL就是: name like "%" '傻' "%"

2.表达式: name like '%${name}%'

Preparing:select * from userWHERE name like '%傻%' 

Parameters: 

使用$进行字符串的拼接,直接把传入的值,拼接上去了

3,使用bind标签

<bind name="username" value=" '%'+username+'%'" />

感觉使用模糊查询的时候,可以直接对传递的参数进行拼接比较方便

原文地址:https://www.cnblogs.com/a-small-lyf/p/10324999.html