java lambdaquerywrapper多表联查
时间: 2024-05-22 19:09:36 浏览: 132
java如何生成可变表头的excel
Java LambdaQueryWrapper是MyBatis-Plus提供的一种方便的查询方式,可以用于构建SQL语句。在多表联查时,可以使用LambdaQueryWrapper来构建复杂的查询语句。以下是使用LambdaQueryWrapper实现多表联查的示例代码:
```java
LambdaQueryWrapper<User> wrapper = Wrappers.lambdaQuery();
wrapper.select(User.class, info -> !info.getColumn().equals("password"))
.eq(User::getId, 1L)
.leftJoin(UserRole.class, UserRole::getUserId, User::getId)
.leftJoin(Role.class, Role::getId, UserRole::getRoleId)
.eq(Role::getRoleName, "admin")
.orderByDesc(User::getId);
List<User> userList = userMapper.selectList(wrapper);
```
在上述代码中,我们首先使用`Wrappers.lambdaQuery()`创建一个LambdaQueryWrapper对象,然后通过`select`方法选择要查询的列,使用`eq`方法设置查询条件,使用`leftJoin`方法进行多表联查,并可以设置多个表之间的连接关系和查询条件,最后通过`orderByDesc`方法对结果进行排序。最终我们可以通过`selectList`方法获取查询结果。
阅读全文