Entitylrapper里的where方法相当于LambdaQueryWrapper里的哪个方法
时间: 2023-08-13 21:27:33 浏览: 182
在MyBatis-Plus中,EntityWrapper和LambdaQueryWrapper都是用于构建复杂查询条件的实体包装器。其中,EntityWrapper是使用字符串模板的方式来构建查询条件,而LambdaQueryWrapper则是使用Lambda表达式。
在LambdaQueryWrapper中,where方法也是用于添加Where条件的。因此,EntityWrapper中where方法相当于LambdaQueryWrapper中的where方法。
举个例子,使用LambdaQueryWrapper和EntityWrapper分别构建查询条件的代码如下:
```java
// 使用LambdaQueryWrapper构建查询条件
LambdaQueryWrapper<User> lambdaWrapper = new LambdaQueryWrapper<>();
lambdaWrapper.gt(User::getAge, 18)
.and(w -> w.like(User::getName, "%Tom%"))
.or(w -> w.eq(User::getStatus, 1).gt(User::getAge, 60));
List<User> userList = userMapper.selectList(lambdaWrapper);
// 使用EntityWrapper构建查询条件
EntityWrapper<User> entityWrapper = new EntityWrapper<>();
entityWrapper.where("age > {0}", 18)
.and("name like {0}", "%Tom%")
.orNew("status = {0}", 1)
.or("age > {0}", 60);
List<User> userList = userMapper.selectList(entityWrapper);
```
可以看到,在LambdaQueryWrapper中使用where方法和在EntityWrapper中使用where方法的效果是一样的。
阅读全文
相关推荐


















