条件构造器querywrapper之关键字模糊查询
时间: 2023-08-14 19:07:38 浏览: 111
好的,关键字模糊查询可以使用QueryWrapper的like方法,示例代码如下:
```
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("username", "keyword");
```
其中,第一个参数是数据库表中的字段名,第二个参数是关键字,可以是完整的关键字,也可以是关键字的一部分。这样就可以实现对指定字段进行模糊查询了。需要注意的是,like方法默认使用的是%关键字%,也就是前后都加上了通配符,如果需要自定义通配符,可以使用likeLeft或likeRight方法。
相关问题
条件构造器querywrapper之关键字对多个字段模糊查询
如果需要对多个字段进行关键字模糊查询,可以使用QueryWrapper的or方法和lambda表达式,示例代码如下:
```
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("username", "keyword")
.or()
.like("nickname", "keyword")
.or()
.like("email", "keyword");
```
其中,使用or方法可以将多个条件组合起来,表示满足其中任意一个条件的数据都会被查询出来。lambda表达式表示对该条件进行关键字模糊查询,这里使用了三个lambda表达式分别对username、nickname和email字段进行查询。这样就可以实现对多个字段进行关键字模糊查询了。
条件构造器querywrapper之关键字对多个字段模糊查询 映射文件中sql怎样写
在Mybatis的映射文件中,可以使用QueryWrapper的方式来实现关键字对多个字段的模糊查询。示例代码如下:
```
<select id="getUserList" resultType="com.example.User">
SELECT *
FROM user
<where>
<if test="keyword != null and keyword != ''">
AND (
username LIKE CONCAT('%', #{keyword}, '%')
OR nickname LIKE CONCAT('%', #{keyword}, '%')
OR email LIKE CONCAT('%', #{keyword}, '%')
)
</if>
</where>
</select>
```
这里使用了if标签和拼接符号CONCAT来实现对多个字段的模糊查询。其中,#{keyword}是传入的关键字参数,通过拼接%符号实现模糊匹配。需要注意的是,这里用了括号将三个条件括起来,表示满足其中任意一个条件的数据都会被查询出来。
阅读全文