new QueryWrapper<>().lambda()和 new LambdaQueryWrapper有什么区别
时间: 2024-04-25 16:21:48 浏览: 86
`new QueryWrapper<>().lambda()` 和 `new LambdaQueryWrapper` 是 MyBatis-Plus 提供的两种查询条件构造方式。
1. `new QueryWrapper<>().lambda()`:
- `QueryWrapper` 是 MyBatis-Plus 提供的一个查询条件构造器。
- `lambda()` 方法返回一个 `LambdaQueryWrapper` 对象,用于构建 Lambda 表达式查询条件。
- 使用 Lambda 表达式可以更加简洁地编写查询条件,避免硬编码字段名。
2. `new LambdaQueryWrapper`:
- `LambdaQueryWrapper` 是 MyBatis-Plus 提供的另一种查询条件构造器。
- 使用 `LambdaQueryWrapper` 可以直接在构造器中使用实体类的属性名,无需硬编码字段名。
- 通过链式调用方法来设置查询条件,如 `eq()`、`like()`、`gt()` 等。
总结:
- 使用 `QueryWrapper<>().lambda()` 结合 Lambda 表达式可以在查询条件中使用实体类的属性名来编写查询条件,更加简洁方便。
- 使用 `LambdaQueryWrapper` 可以直接在构造器中使用实体类的属性名,无需硬编码字段名。
需要注意的是,这两种方式都是用于构造查询条件,最终都可以通过调用 `selectList()`、`selectOne()` 等方法来执行查询操作。
相关问题
QueryWrapper<Groupp> wrapper = new QueryWrapper<>(); wrapper.lambda().like
我可以回答这个问题。这是一个 Java 代码片段,使用了 MyBatis-Plus 框架中的 QueryWrapper 类,用于构建查询条件。其中 lambda() 方法用于创建一个 LambdaQueryWrapper 对象,like() 方法用于添加模糊查询条件。
private LambdaQueryWrapper<LearningLesson> buildUserIdAndCourseIdWrapper(Long userId, Long courseId) { LambdaQueryWrapper<LearningLesson> queryWrapper = new QueryWrapper<LearningLesson>() .lambda() .eq(LearningLesson::getUserId, userId) .eq(LearningLesson::getCourseId, courseId); return queryWrapper; }
这是一个用于构建查询条件的方法,根据给定的用户ID和课程ID创建一个LambdaQueryWrapper对象。该对象用于构建数据库查询语句,以查找符合指定条件的LearningLesson对象。在这个方法中,我们使用了Lambda表达式来指定查询条件,即通过用户ID和课程ID进行等值匹配。最后,将构建好的LambdaQueryWrapper对象返回。
阅读全文