mybatis模糊查询sql语句
时间: 2023-11-07 10:49:09 浏览: 28
Mybatis模糊查询和动态sql语句的用法
MyBatis支持模糊查询,可以使用通配符%或_来实现。
通配符%表示任意多个字符,例如:
```sql
SELECT * FROM users WHERE name LIKE '%张%';
```
上面的SQL语句会查询所有名字中包含“张”的用户。
通配符_表示一个任意字符,例如:
```sql
SELECT * FROM users WHERE phone LIKE '138%2_';
```
上面的SQL语句会查询所有手机号以“138”开头,并且第五位为2的用户。
在MyBatis中,可以使用`${}`或者`#{}`来实现动态参数的绑定。其中`${}`会直接替换成参数的值,`#{}`则会将参数值加上单引号再替换。因此,在使用模糊查询时,推荐使用`#{}`。
例如:
```xml
<select id="getUserByName" parameterType="String" resultType="User">
SELECT * FROM users WHERE name LIKE CONCAT('%', #{name}, '%')
</select>
```
上面的XML语句将会查询所有名字中包含参数name的用户。注意,在使用`CONCAT`函数时,要用`#{}`将参数包裹起来。
阅读全文