mybatisplus 去重查询
时间: 2023-09-27 08:10:15 浏览: 234
MyBatis Plus提供了多种方法进行去重查询。其中一种方法是使用queryWrapper的distinct方法。你可以通过在queryWrapper上调用select方法,指定要查询的字段,然后使用distinct方法去除重复的结果。另一种方法是直接在SQL语句中使用distinct关键字来进行去重查询。
例如,在使用queryWrapper进行去重查询时,你可以使用以下代码:
```java
queryWrapper.select("distinct 字段名");
```
而在SQL语句中使用distinct关键字进行去重查询时,你可以使用以下代码:
```xml
<select id="getReceiveBatchList" parameterType="map" resultType="string">
select distinct receive_batch from stereo_receive_package where receive_batch like #{month} and is_submit = '1' order by receive_batch desc
</select>
```
注意,这里的"字段名"需要替换为你要进行去重查询的字段名。
相关问题
mybatisplus去重查询
你可以使用 MyBatis-Plus 提供的 QueryWrapper 类来进行去重查询。以下是一个示例代码:
```java
QueryWrapper<Entity> queryWrapper = new QueryWrapper<>();
queryWrapper.select("DISTINCT column1, column2") // 列出需要去重的列
.eq("column3", value1) // 添加其他查询条件
.ne("column4", value2);
List<Entity> result = entityMapper.selectList(queryWrapper);
```
在上述代码中,你需要将 `Entity` 替换为你的实体类名,`entityMapper` 替换为你的 Mapper 接口实例。通过 `queryWrapper.select("DISTINCT column1, column2")` 指定需要去重的列,然后可以通过其他方法链式地添加其他查询条件。最后,通过 `entityMapper.selectList(queryWrapper)` 执行查询并获取结果。
希望这能帮到你!如有更多问题,请继续提问。
mybatisplus去重
Mybatis-plus 本身并不提供去重的方法,但是可以通过自定义 SQL 语句实现去重。
例如,假设我们有一个实体类 `User`,包含 `id` 和 `name` 两个字段,我们想要查询所有不重复的 `name`:
```java
List<User> userList = userMapper.selectList(new QueryWrapper<User>()
.select("DISTINCT name"));
```
上述代码中,我们使用 `QueryWrapper` 对象构建查询条件,并调用 `select` 方法指定查询的字段为 `DISTINCT name`,表示查询不重复的 `name`。
需要注意的是,这种方法只适用于查询单个字段不重复的情况。如果需要查询多个字段不重复,可以使用 GROUP BY 语句实现。例如,查询 `name` 和 `age` 不重复的记录:
```java
List<User> userList = userMapper.selectList(new QueryWrapper<User>()
.select("name, age")
.groupBy("name, age"));
```
上述代码中,我们使用 `groupBy` 方法指定按照 `name` 和 `age` 进行分组,并且查询的字段为 `name, age`。
阅读全文
相关推荐













