能不同通过不写sql的方式来实现
时间: 2023-12-06 22:02:08 浏览: 106
可以使用MyBatis-Plus的Wrapper来实现多表联查,而不需要自己编写SQL语句。
假设有两张表:user和role,user表中有一个外键role_id指向role表的主键id,现在需要查询user表中的所有用户信息,并且同时查询出每个用户对应的角色名称,可以使用如下代码:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.select("user.*", "role.role_name")
.leftJoin("role", "user.role_id = role.id")
.eq("user.status", 1);
List<Map<String, Object>> userList = userMapper.selectMaps(queryWrapper);
```
这段代码中,使用了QueryWrapper的select方法来指定查询的字段,同时使用了leftJoin方法来指定关联的表和关联条件,最后使用selectMaps方法进行查询,查询结果会返回一个List<Map<String, Object>>类型的结果集,其中Map的Key为查询的字段名,Value为查询结果。
需要注意的是,关联表的字段需要在实体类中定义对应的属性,并使用@TableField注解来指定对应的表字段。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)