Mybatis-Plus条件构造器的select用法解读
Mybatis-Plus条件构造器的select select作用 除了增删改查,Mybatis-Plus的条件构造器里还有一大杀器——select。它的核心任务很简单:精准选取你需要的数据库字段,避免把整张表的大字段都捞出来。毕竟在实际项目中,冗余查询不仅浪费带宽,还拖慢接口响应速度。 下面直接进
Mybatis-Plus条件构造器的select
select作用
除了增删改查,Mybatis-Plus的条件构造器里还有一大杀器——select。它的核心任务很简单:精准选取你需要的数据库字段,避免把整张表的大字段都捞出来。毕竟在实际项目中,冗余查询不仅浪费带宽,还拖慢接口响应速度。

下面直接进入主题,看看select到底怎么用。
1、查询除了指定字段以外的所有字段
有些场景下,你不想查某个字段。比如一张animal表里有个age字段,但业务上不需要它。这时候可以用Lambda风格的谓词过滤。
方法签名:
QueryWrapper
select(Class entityClass, Predicate predicate)
@GetMapping(value = "/test")
public List test(Animal arg) {
QueryWrapper wrapper = Wrappers.query(arg)
.select(Animal.class, item -> ! item.getColumn().equals("age"));
return animalService.list(wrapper);
}
控制台打印的SQL语句如下:
SELECT id, create_time, NAME, update_time, del_flag, hobby FROM animal WHERE del_flag =0
看,age字段被完美排除,其他字段全部保留。这种写法特别适合那些字段多、但只想剔除个别列的情况。
2、查询指定字段
这个是最常规的用法:手写你想查的字段名列表。
方法签名:
QueryWrapper
select(String... columns)
@GetMapping(value = "/test")
public List test(Animal arg) {
QueryWrapper wrapper = Wrappers.query(arg)
.select("id", "name", "hobby");
return animalService.list(wrapper);
}
控制台打印的SQL语句如下:
SELECT id,name,hobby FROM animal WHERE del_flag=0
字段少、且确定要查哪些列时,这种方式最直接。
3、结合聚合函数查询
select并不只是用来选普通列——它还能配合聚合函数一起使用。比如你得按部门统计平均年龄,然后按部门id降序输出。
方法签名:
QueryWrapper
select(String... columns)
@GetMapping(value = "/test")
public List test(Animal arg) {
QueryWrapper wrapper = Wrappers.query(arg)
.select("dept_id", "A VG(age) AS a vgAge")
.groupBy("dept_id")
.orderByDesc("dept_id");
return animalService.list(wrapper);
}
控制台打印的SQL语句如下:
SELECT dept_id, A VG( age ) AS a vgAge FROM animal WHERE del_flag = 0 GROUP BY dept_id ORDER BY dept_id DESC
注意这里select里直接用了"A VG(age) AS a vgAge",相当于把聚合逻辑也写进了构造器中,干净利落。
总结
select方法虽然看起来简单,但在实际开发中非常实用。不论是为了性能优化排除冗余列,还是结合聚合函数做统计,它都能帮你写出一手漂亮的动态查询。与其在XML里反复拼SQL,不如用MP的构造器把这些活全包了。
Compressor 是 Apple 面向 Mac 推出的专业媒体转码与交付工具,可与 Final Cut Pro、Motion 协同工作。它支持批量任务、自定义编码预置、HDR 与广色域处理、字幕、空间视频、专业媒体格式及多台 Mac 分
Apple Motion 是苹果面向 Mac 视频创作者推出的动态图形与视觉特效工具,可制作二维及三维字幕、转场、粒子动画、对象跟踪和合成效果,并能将自定义模板直接用于 Final Cut Pro。
Archicad是Graphisoft推出的建筑信息模型设计软件,可在Mac上完成概念设计、参数化建模、图纸编制、工程量统计、渲染展示及团队协同。模型与平立剖面、明细表和布局保持关联,适合建筑师、室内设计师、BIM团队及相关专业学生使用。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。














