LambdaQueryWrapper多表联查
时间: 2023-08-25 15:10:40 浏览: 265
LambdaQueryWrapper是MyBatis-Plus提供的一种查询构造器,可以方便地进行多表联查。在使用LambdaQueryWrapper进行多表联查时,需要使用join方法来连接多个表,并使用select方法来指定需要查询的字段。同时,可以使用lambda表达式来指定查询条件,例如:
```
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.select(User.class, info -> !info.getColumn().equals("password"))
.eq(User::getUsername, "admin")
.leftJoin(UserRole.class, UserRole::getUserId, User::getId)
.leftJoin(Role.class, Role::getId, UserRole::getRoleId)
.eq(Role::getRoleName, "admin");
List<User> userList = userMapper.selectList(wrapper);
```
以上代码中,我们使用LambdaQueryWrapper查询用户表、用户角色表和角色表,查询条件为用户名为admin且角色名为admin的用户信息。其中,select方法指定查询用户表的所有字段,但排除了密码字段;leftJoin方法连接了用户表、用户角色表和角色表;eq方法指定了查询条件。最终,我们通过调用selectList方法来执行查询操作。
阅读全文