mybatisplus联表查询
时间: 2023-03-03 07:43:01 浏览: 218
MybatisPlus 是基于 MyBatis 的增强工具,在 Mybatis 的基础上增加了许多实用的功能,其中就包括了联表查询的功能。下面是一个 MybatisPlus 联表查询的示例代码:
假设我们有两张表,一张是用户表(user),包含了用户的 ID、姓名和所在城市;另一张是城市表(city),包含了城市的 ID 和名称。
要实现根据用户 ID 查询该用户所在的城市名称,可以使用 MybatisPlus 的联表查询功能,示例如下:
```
@Autowired
private UserMapper userMapper;
public User getUserWithCityById(Long id) {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("id", id);
queryWrapper.select("user.id", "user.name", "city.name as city_name");
queryWrapper.leftJoin("city", "user.city_id = city.id");
return userMapper.selectOne(queryWrapper);
}
```
这段代码中,我们使用了 MybatisPlus 的 QueryWrapper 类来构造查询条件。首先通过 `eq` 方法设置了用户 ID 的查询条件,然后使用 `select` 方法选择需要返回的字段,其中通过 `as` 方法将城市名称的别名设置为 `city_name`。最后使用 `leftJoin` 方法指定了关联查询的城市表,并设置了关联条件。
通过上述代码,我们就可以实现根据用户 ID 查询该用户所在的城市名称。
阅读全文