QueryWrapper、LambdaQueryWrapper、QueryChainWrapper、LambdaQueryChainWrapper比较
SELECT id,order_msg FROM my_mysql.order WHERE order_msg = '57x' // x 代表序号
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | QueryWrapper QueryWrapper<OrderEntity> queryWrapper = new QueryWrapper<OrderEntity>().select( "id" , "order_msg" ).eq( "order_msg" , "571" ); orderMapper.selectOne(queryWrapper); // SELECT id,order_msg FROM my_mysql.order WHERE (order_msg = '571') 1 2 LambdaQueryWrapper // LambdaQueryWrapper // queryWrapper.lambda() 可以转换成此种 wrapper LambdaQueryWrapper<OrderEntity> lambdaQueryWrapper = new LambdaQueryWrapper<OrderEntity>().select(OrderEntity::getId, OrderEntity::getOrderMsg).eq(OrderEntity::getOrderMsg, "572" ); orderMapper.selectOne(lambdaQueryWrapper); // SELECT id,order_msg FROM my_mysql.order WHERE (order_msg = '572') 1 2 3 QueryChainWrapper QueryChainWrapper<OrderEntity> queryChainWrapper = new QueryChainWrapper<>(orderMapper).select( "id" , "order_msg" ).eq( "order_msg" , "573" ); queryChainWrapper.one(); // SELECT id,order_msg FROM my_mysql.order WHERE (order_msg = '573') 1 2 LambdaQueryChainWrapper LambdaQueryChainWrapper<OrderEntity> lambdaQueryChainWrapper = new LambdaQueryChainWrapper<>(orderMapper).select(OrderEntity::getId, OrderEntity::getOrderMsg).eq(OrderEntity::getOrderMsg, "574" ); lambdaQueryChainWrapper.one(); // SELECT id,order_msg FROM my_mysql.order WHERE (order_msg = '574') 1 2 总结 QueryWrapper 和 lambdaQueryWrapper 需要将 封装的wrapper 提供给 orderMapper,调用orderMapper的方法,才可以使用。 QueryChainWrapper 和 LambdaQueryChainWrapper 可以直接链式调用数据执行操作的方法 带 lambda 的 wrapper 可以使用lambda表达式,选择列,设置列值,反之不带lambda的就需要手动指定列名 |
分类:
Mybatis-plus
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示