mybatisplus 不显示返回某个字段
时间: 2025-05-09 17:06:04 浏览: 22
### 解决 MyBatisPlus 查询时排除特定字段
在使用 MyBatisPlus 进行查询操作时,如果希望返回的结果中不包含某些特定字段,可以通过 `Wrapper` 接口中的 `select()` 方法来指定要查询的字段。这允许开发者精确控制最终 SQL 语句中 SELECT 部分的内容。
对于想要实现的功能——即查询时不返回特定字段,具体做法如下:
#### 使用 Wrapper 的 select() 方法
通过调用 `select()` 并传入实体类属性名称作为参数,可以明确指出哪些字段应该被选中参与查询。未在此处提及的其他字段则不会出现在最终结果集中[^2]。
```java
// 创建 QueryWrapper 对象并设置查询条件
QueryWrapper<Employee> queryWrapper = new QueryWrapper<>();
queryWrapper.select("id", "name") // 只选择 id 和 name 字段
.eq("salary", 3500); // 添加额外查询条件 (这里仅为示例)
List<Map<String, Object>> resultMaps = employeeService.listMaps(queryWrapper);
```
上述代码片段展示了如何利用 `listMaps()` 方法获取 Map 形式的记录集合,在此之前已经指定了仅需检索 `id` 和 `name` 两个字段的信息。
另外一种方式是采用 Lambda 表达式风格编写更加简洁易读的选择逻辑:
```java
LambdaQueryWrapper<Employee> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.select(Employee::getId, Employee::getName)
.gt(Employee::getSalary, 3500);
List<Employee> resultList = employeeMapper.selectList(lambdaQueryWrapper);
```
这段代码同样实现了相同的效果—只选择了部分字段进行查询,并且过滤掉了不符合薪资条件的数据条目。
值得注意的是,当涉及到复杂业务场景下的多表联查或者其他高级特性时,则可能需要借助 XML 映射文件或者自定义 SQL 来完成更复杂的字段筛选需求。
阅读全文
相关推荐


















