Mybatis Plus 链式编程
官方文档地址:https://baomidou.com/pages/10c804/#链式调用-lambda-式
1.官网案例
// 区分:
// 链式调用 普通
UpdateChainWrapper<T> update();
// 链式调用 lambda 式。注意:不支持 Kotlin
LambdaUpdateChainWrapper<T> lambdaUpdate();
// 等价示例:
query().eq("id", value).one();
lambdaQuery().eq(Entity::getId, value).one();
// 等价示例:
update().eq("id", value).remove();
lambdaUpdate().eq(Entity::getId, value).remove();
2. 使用说明
2.1 查询操作
- 第一步:lambdaQuery() (或 query())初始化查询链
- 第二步:条件项:eq,ne,lt等
- 第三步:结果集
lambdaQuery()//生成查询链
.eq(Entity::getId, value)//条件项,wrapper接口对应的eq,gt,lt都可以使用
.one();//获取的结果集
2.1.1 条件项
- 可以使用mybatis-plus中提供的参数,例如:eq,ne,lt
- 提供了第二种方式,传入实体
eg:
Entity entity = Entity.builder()
.id(1)
.phone("1XXXXXXX")
.build();
lambdaQuery()
.setEntity(entity)
.one();
query()
.setEntity(entity)
.one();
2.1.2 结果集
- .one() 获取一行数据
- .list() 获取列表数据
- .count()获取统计数据
除了上面,还可以使用
lambdaQuery().eq(1,1).getWrapper() 链式的获取wrapper
2.2 更新操作
- 第一步:lambdaUpdate()(或update())初始化查询链
- 第二步:条件项:eq,ne,lt等
- 第三步:需要更改的值
- 第四步:需要进行的操作
lambdaUpdate()
.eq(Entity::getId,"id") //条件项
.set(Entity::getName,"张三") //设置值
.update();//进行的操作
update()
.setEntity(conditionEntity)//进行查询操作
.update(updateEntity);//进行的操作,需要更新的字段数据
注意点:
-
可以通过setEntity 传需要的条件实体,默认判断都是等于
-
进行更改操作的类型
- update() 表示更新操作
- remove() 表示删除操作 -
可以通过.update(entity) 更新实体中的数据
注意点:

-
query()和update() 对 Entity::getId 这种表达 获取字段名的兼容并不好,
-
建议使用 lambdaQuery()或者lambdaUpdate()

- 但是lambdaQuery()和lambdaUpdate的条件判断参数对字符串兼容不好,
- 如果需要字段特殊处理的,建议用query(),update()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能