LambdaQueryWrapper中模糊查询如何写?
时间: 2023-05-19 21:03:28 浏览: 2044
LambdaQueryWrapper中模糊查询可以使用like方法,例如:
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.like(User::getName, "张%");
这样就可以查询名字以“张”开头的用户。
相关问题
如何使用LambdaQueryWrapper进行多条件查询?
LambdaQueryWrapper是MyBatis-Plus提供的一个查询条件构造器,可以方便地进行多条件查询。使用LambdaQueryWrapper可以通过链式调用的方式,灵活地组合多个查询条件。
下面是使用LambdaQueryWrapper进行多条件查询的步骤:
1. 导入相关的类和包:
```java
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
```
2. 创建LambdaQueryWrapper对象:
```java
LambdaQueryWrapper<Entity> queryWrapper = new LambdaQueryWrapper<>();
```
3. 使用LambdaQueryWrapper对象设置查询条件:
```java
queryWrapper.eq(Entity::getField1, value1) // 等于条件
.ne(Entity::getField2, value2) // 不等于条件
.gt(Entity::getField3, value3) // 大于条件
.lt(Entity::getField4, value4) // 小于条件
.ge(Entity::getField5, value5) // 大于等于条件
.le(Entity::getField6, value6) // 小于等于条件
.like(Entity::getField7, value7) // 模糊查询条件
.in(Entity::getField8, value8List) // in条件
.notIn(Entity::getField9, value9List) // not in条件
.isNull(Entity::getField10) // 字段为空条件
.isNotNull(Entity::getField11); // 字段不为空条件
```
4. 执行查询操作:
```java
List<Entity> entityList = entityMapper.selectList(queryWrapper);
```
以上就是使用LambdaQueryWrapper进行多条件查询的基本步骤。
LambdaQueryWrapper实现模糊查询
LambdaQueryWrapper是MyBatis-Plus提供的一个方便的查询构造器,可以用来拼接SQL查询条件。要实现模糊查询,可以使用LambdaQueryWrapper的like方法。
假设你要使用LambdaQueryWrapper查询一个名字包含"张"的用户,代码如下:
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.like(User::getName, "张");
List<User> userList = userMapper.selectList(wrapper);
```
其中,User::getName表示要查询的实体类的字段,"张"是匹配的字符串。这段代码会生成如下的SQL语句:
```sql
SELECT * FROM user WHERE name LIKE '%张%'
```
这样就可以实现模糊查询了。需要注意的是,在like方法中,还可以指定匹配的方式,例如:
```java
wrapper.like(User::getName, "张", SqlLike.DEFAULT);
```
其中,第三个参数SqlLike.DEFAULT表示使用默认的匹配方式,即在匹配字符串前后都加上%。除此之外,还可以使用SqlLike.LEFT和SqlLike.RIGHT来指定只在左侧或右侧加上%,或者使用SqlLike.BOTH来在两侧都加上%。