发布时间:2026/7/15 19:47:36
mybatis-plus 常用方法 selectListimportcom.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;importjava.util.List;// 假设有一个 User 实体类ListUserusersuserMapper.selectList(newLambdaQueryWrapperUser().eq(User::getId,1001)// WHERE id 1001.gt(User::getAge,18)// AND age 18.like(User::getName,张)// AND name LIKE %张%.orderByDesc(User::getCreateTime)// ORDER BY create_time DESC);复杂条件示例LambdaQueryWrapperUserwrappernewLambdaQueryWrapperUser().eq(User::getStatus,1).and(w-w.gt(User::getAge,18).or().isNotNull(User::getEmail)).orderByDesc(User::getCreateTime).last(LIMIT 10);// 拼接原生 SQL 片段ListUserusersuserMapper.selectList(wrapper);条件动态拼接非常实用Stringname张;IntegerminAgenull;LambdaQueryWrapperUserwrappernewLambdaQueryWrapperUser().eq(User::getStatus,1).like(name!null,User::getName,name)// 条件为 true 时才拼接.gt(minAge!null,User::getAge,minAge);// minAge 为 null这行不会生效ListUserusersuserMapper.selectList(wrapper);LambdaQueryWrapper方法说明示例eq(字段, 值)等于.eq(User::getId, 1)ne(字段, 值)不等于!.ne(User::getStatus, 0)gt(字段, 值)大于.gt(User::getAge, 18)ge(字段, 值)大于等于.ge(User::getAge, 18)lt(字段, 值)小于.lt(User::getAge, 60)le(字段, 值)小于等于.le(User::getAge, 60)like(字段, 值)模糊匹配LIKE %值%.like(User::getName, 张)likeLeft(字段, 值)左模糊LIKE %值.likeLeft(User::getName, 三)likeRight(字段, 值)右模糊LIKE 值%.likeRight(User::getName, 张)in(字段, 集合)IN 查询.in(User::getId, Arrays.asList(1,2,3))isNull(字段)为 NULL.isNull(User::getEmail)isNotNull(字段)不为 NULL.isNotNull(User::getEmail)orderByAsc(字段)升序.orderByAsc(User::getAge)orderByDesc(字段)降序.orderByDesc(User::getCreateTime)between(字段, 值1, 值2)区间查询.between(User::getAge, 18, 60)and(条件)嵌套 AND.and(w - w.gt(User::getAge, 18).lt(User::getAge, 60))or()OR.eq(User::getId, 1).or().eq(User::getId, 2)select(字段...)指定查询列.select(User::getId, User::getName)这些方法都是mapper层的 是mapper. 调用的在学习的时候, 发现 lambdaQuery().one()lambdaQuery().one()ApplyInfoModelapplyInfoModelapplyInfoService.lambdaQuery().eq(ApplyInfoModel::getProcessInstId,list.get(0).getProcessInstId()).one();lambdaQuery().one() 和 selectOne() 都是 MyBatis-Plus 中查询单条记录的方法但它们所属的层级不同、使用方式不同、行为也有差异。对比项lambdaQuery().one()selectOne()所属层级Service 层链式查询Mapper 层调用者继承ServiceImpl的 Service继承BaseMapper的 Mapper参数通过链式.eq()、.like()等拼接条件传入一个Wrapper对象返回值实体对象或null实体对象或null场景lambdaQuery().one()selectOne()查到 0 条返回null返回null查到 1 条返回该记录返回该记录查到 多条抛出TooManyResultsException返回第一条不抛异常继承 ServiceImpl 层的service 也具有调用mybatis-plus里方法的能力继承 ServiceImplYourMapper, YourEntity 后你的 Service 可以直接使用getOne(wrapper)// 查询单条getOne(wrapper,false)// 查询单条多条时不抛异常list(wrapper)// 条件查询列表count(wrapper)// 条件统计page(page,wrapper)// 分页查询getOne(wrapper)// 查询单条getOne(wrapper,false)// 查询单条多条时不抛异常list(wrapper)// 条件查询列表count(wrapper)// 条件统计page(page,wrapper)// 分页查询lambdaQuery()// 返回 LambdaQueryChainWrapper支持 .eq().like().one() 等链式调用lambdaUpdate()// 返回 LambdaUpdateChainWrapper支持链式更新query()// 返回 QueryChainWrapperupdate()// 返回 UpdateChainWrapper继承ServiceImpl不继承普通 Service调用 MP 方法✅ 直接调用无需注入 Mapper❌ 需要手动AutowiredMapper链式查询✅ 支持lambdaQuery()❌ 不支持代码简洁度高一般

相关新闻

2026/7/15 19:47:36

51单片机(三)独立按键消抖与状态机实战

1. 独立按键的硬件原理与抖动问题当你第一次按下51单片机开发板上的独立按键时,可能会发现LED灯会出现"闪烁"现象——明明只按了一次,灯却快速亮灭好几次。这不是程序写错了,而是所有机械按键都存在的物理抖动现象。机械按键内部有…

2026/7/15 19:47:36

STM32 HAL库串口中断回调机制深度解析与实战应用

1. STM32 HAL库串口中断回调机制解析第一次接触STM32 HAL库的串口中断时,我被各种回调函数绕得晕头转向。经过几个项目的实战,终于摸清了这套机制的门道。HAL库通过回调函数将底层硬件操作与用户代码解耦,这种设计既保持了库的通用性&#xf…

2026/7/15 19:47:36

怎么用AI选股:从写第一行Prompt到筛出标的的步步详解

搜"AI选股怎么操作"的,不是来看AI能不能选股的。是想知道明天打开电脑之后第一步该干嘛。这篇文章给一套能照着做的流程——用什么工具、怎么提问、怎么验证AI推的票靠不靠谱。 一、先用最笨的方式试一次——看看AI选股到底什么水平 先别研究Prompt技巧。…

2026/7/15 20:52:41

高速ADC核心性能与JESD204B接口设计实战解析

1. 项目概述:为什么我们需要ADC31JB68这样的高速ADC?在无线通信、雷达探测或者高端测试仪器里,我们工程师常常面临一个核心挑战:如何把现实世界中瞬息万变、频率极高的模拟信号,一丝不苟地“搬进”数字世界进行处理&am…

2026/7/15 20:52:41

Hermes 消息平台配置飞书

一、相关文档 飞书 / Lark 设置 https://hermes-agent.ac.cn/docs/user-guide/messaging/feishu 二、多种配置方式 2.1 命令行交互式配置(推荐) 2.1.1 hermes gateway setup Select a platform to configure:↑↓ navigate ENTER/SPACE select ES…

2026/7/15 20:47:40

包装生产线PLC控制系统设计资料12(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_

包装生产线PLC控制系统设计资料12(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_ 包含完整程序、CAD图pdf版、课程设计指导书和课设报告。 内容包括: -包装生产线控制系统示意图 -包装生产线控制系统控制电路图-包装生产线控制系统外部接线图 …

2026/7/15 17:04:06

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/14 19:23:19

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/14 18:30:06

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/15 0:08:29

【LINUX】驱动

【LINUX驱动】【字符设备】【中断】【Platform】【网课 设备树】【GPIO】【PINCTRL】【INPUT】【IIC】【SPI】【网络驱动】【屏幕驱动】【一 设备树】【二 内核模块编译】【三 基本驱动框架】【四 Platform总线设备驱动框架】【五 驱动子系统】【六 综合】

2026/7/15 0:08:29

【1982-2026】全国高精度建筑轮廓|村级精度|SHP矢量

🔍 数据简介 本次分享1982-2026年全国村级精度建筑轮廓矢量数据,覆盖全国各省市区县,到村级别精细,为2026年最新实时采集成果,非网传仅60/77个城市的老旧数据。 数据含带高度/不带高度双版本,单体建筑边界精…

2026/7/15 0:08:29

【1975-2026】全国水系水路数据|河流/水库/运河|SHP矢量

🔍 数据简介 本次分享1975-2026年全国高精度水系水路矢量数据,覆盖全国全域,包含河流、水系、水库、运河、湿地、冰川、沟渠等全类别水文要素。 数据集包含双层矢量图层,字段分类清晰、要素齐全,支持2013-2026逐年完整…

2026/7/15 13:36:32

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…