QueryWrapper、LambdaQueryWrapper、QueryChainWra。。。Wrapper使⽤⽰例
以这条SQL做演⽰:
SELECT id,order_msg FROM der WHERE order_msg ='57x'// x 代表序号
露娜月下无限连招口诀QueryWrapper
QueryWrapper<OrderEntity> queryWrapper =new QueryWrapper<OrderEntity>().lect("id","order_msg").eq("order_msg","571");
期货短线
orderMapper.lectOne(queryWrapper);// SELECT id,order_msg FROM der WHERE (order_msg = '571')
LambdaQueryWrapper
// LambdaQueryWrapper // queryWrapper.lambda() 可以转换成此种 wrapper
LambdaQueryWrapper<OrderEntity> lambdaQueryWrapper =new LambdaQueryWrapper<OrderEntity>().lect(OrderEntity::getId, OrderEntity::getO rderMsg).eq(OrderEntity::getOrderMsg,"572");
orderMapper.lectOne(lambdaQueryWrapper);// SELECT id,order_msg FROM der WHERE (order_msg = '572')
QueryChainWrapper
心脑欣片作用与功效QueryChainWrapper<OrderEntity> queryChainWrapper =new QueryChainWrapper<>(orderMapper).lect("id","order_msg").eq("order_msg","573");
<();// SELECT id,order_msg FROM der WHERE (order_msg = '573')
LambdaQueryChainWrapper
LambdaQueryChainWrapper<OrderEntity> lambdaQueryChainWrapper =new LambdaQueryChainWrapper<>(orderMapper).lect(OrderEntity::getI d, OrderEntity::getOrderMsg).eq(OrderEntity::getOrderMsg,"574");
<();// SELECT id,order_msg FROM der WHERE (order_msg = '574')
总结
QueryWrapper 和 lambdaQueryWrapper 需要将 封装的wrapper 提供给 orderMapper,调⽤orderMapper的⽅法,才可以使⽤。
QueryChainWrapper 和 LambdaQueryChainWrapper 可以直接链式调⽤数据执⾏操作的⽅法
带 lambda 的 wrapper 可以使⽤lambda表达式,选择列,设置列值,反之不带lambda的就需要⼿动指定列名
最佳案例
简单SQL:
国庆节的来源
使⽤此种⽅式需要注意字段策略
椰子菜OrderEntity orderQry =new OrderEntity().tDealMsg("575");
LambdaQueryWrapper<OrderEntity> wrapper =new LambdaQueryWrapper<>(orderQry).lect(OrderEntity::getId, OrderEntity::getOrderMsg);
画画的英语怎么写orderMapper.lectOne(wrapper);// SELECT id,order_msg FROM der WHERE deal_msg='575'
纪检部工作计划复杂SQL,例如嵌套SQL,直接写XML,在本⼈较长期的使⽤过程中,通过Java⽅法写复杂SQL,看起来不直观,且很费劲。
例如这种情况:
lect*from table_a where a_id in(
lect b_id from table_b where b_id in(1,2,3)油然而生
)
PS
如果帮助到你的话,点个赞⿎励下,欢迎加⼊我的置顶博客的javaweb交流群,不搞带课推⼴,让我们⼀起向诗靠拢。