mybatis-plus-join.distinct
时间: 2023-10-30 20:05:37 浏览: 228
SpringBoot集成MyBatis-Plus-Join
在MyBatis-Plus中,`join.distinct`是一个用于关联查询的方法,它用于指定关联查询的结果集是否去重。当使用`join.distinct`方法时,MyBatis-Plus会自动在生成的SQL语句中添加`DISTINCT`关键字,以确保查询结果的唯一性。
使用示例:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.select("user.id", "user.name", "order.order_no")
.leftJoin("order", "user.id = order.user_id")
.join("order_detail", "order.id = order_detail.order_id")
.join("product", "order_detail.product_id = product.id")
.join("category", "product.category_id = category.id")
.distinct(true); // 使用join.distinct方法
List<Map<String, Object>> userList = userMapper.selectMaps(queryWrapper);
```
在上面的示例中,我们使用了`join.distinct(true)`方法指定关联查询结果集去重。这样,在执行查询时,生成的SQL语句会包含`DISTINCT`关键字,确保返回的结果集中不会出现重复的数据。
需要注意的是,`join.distinct`方法只对关联查询的结果集去重,并不会影响主表的查询结果。如果想要对主表的查询结果也进行去重,请使用`queryWrapper.distinct(true)`方法。
阅读全文