mybatis查询获取参数模糊
时间: 2024-09-09 19:02:19 浏览: 48
MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。在MyBatis中进行模糊查询是常见的需求,通常有以下几种方式实现:
1. 使用`LIKE`关键字配合`%`通配符。在SQL查询语句中,`%`代表任意数量的字符序列,可以放在参数的前后或者中间,从而实现模糊匹配。
2. 传递一个已经包含`%`通配符的字符串作为参数。在MyBatis的映射文件中,可以直接在`<script>`标签中构造查询条件,使用`LIKE`关键字和参数拼接实现模糊查询。
例如,在MyBatis的映射文件中,可以这样写:
```xml
<select id="selectUsers" resultType="User">
SELECT * FROM users WHERE name LIKE CONCAT('%', #{name}, '%')
</select>
```
在这个例子中,`#{name}`是MyBatis的占位符,实际传入的参数会在执行时替换该占位符。
3. 在某些情况下,如果不想在参数中包含`%`通配符,可以在映射文件中使用`<if>`标签来判断参数是否为空,如果不为空,则添加`LIKE`条件。
例如:
```xml
<select id="selectUsers" resultType="User">
SELECT * FROM users
<where>
<if test="name != null and name != ''">
AND name LIKE CONCAT('%', #{name}, '%')
</if>
</where>
</select>
```
这种方式可以避免在使用MyBatis API时手动添加前后缀,使得代码更加简洁。
阅读全文