LambdaQueryWrapper多表查询
时间: 2023-10-15 17:31:10 浏览: 235
LambdaQueryWrapper是MyBatis-Plus框架中的一个查询条件封装类,可以方便地进行多表查询操作。
在使用LambdaQueryWrapper进行多表查询时,可以通过链式调用方法来构建查询条件。首先,需要使用lambda表达式指定主表的查询条件,然后可以通过leftJoin方法指定关联表,并在lambda表达式中指定关联条件。
以下是一个示例代码,演示了如何使用LambdaQueryWrapper进行多表查询:
```java
// 创建LambdaQueryWrapper对象
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
// 设置主表查询条件
queryWrapper.eq(User::getRole, "admin");
// 关联关系:主表user的id字段与关联表user_role的user_id字段相等
queryWrapper
.leftJoin(UserRole.class, UserRole::getUserId, User::getId)
.eq(UserRole::getRole, "manager");
// 执行查询
List<User> userList = userMapper.selectList(queryWrapper);
```
在上述示例中,通过eq方法设置了主表User的role字段为"admin",然后通过leftJoin方法指定了与UserRole表的关联关系,并通过eq方法设置了UserRole表的role字段为"manager"。最后,调用selectList方法执行查询,并返回结果。
通过LambdaQueryWrapper可以很方便地进行多表查询,灵活地指定各个表之间的关联条件,并且可以使用其他常用的查询条件方法来构建更复杂的查询条件。
阅读全文