提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
mybatisplus中一些细节不容易记住,每次使用时需要查找一下以前的记录,在此标记下
汇总如下
条件更新:
LambdaUpdateWrapper<Order> updateWrapper = Wrappers.lambdaUpdate();
updateWrapper.set(Order::getOrderStatus, orderStatus)
.set(Order::getPaymentStatus, payStatus)
.set(Order::getCreateTime,updateTime)
.eq(Order::getOrderIdV2, refundId)
.eq(Order::getUserId, userId);
this.update(updateWrapper);
or查询:
LambdaQueryWrapper<OrderRefundExt> wrapper = Wrappers.lambdaQuery();
wrapper.eq(OrderRefundExt::getRefundStatus, PayRefundStatus.FAILED.getValue())
.or()
.eq(OrderRefundExt::getRefundStatus, PayRefundStatus.REFUND_ING.getValue());
List<OrderRefundExt> refundOrders = orderRefundExtService.list(wrapper);
or(and)查询:
LambdaQueryWrapper<User> wrapper = Wrappers.lambdaQuery();
wrapper.eq(User::getId, 1)
.or(item -> item.gt(User::getAge, 22).eq(User::getUserName, "Billie"));
List<User> users = userService.list(wrapper);
and(or)查询:
LambdaQueryWrapper<User> wrapper = Wrappers.lambdaQuery();
wrapper.gt(User::getId, 1)
.and(item -> item.eq(User::getUserName, "Tom").or().eq(User::getUserName, "Billie"));
List<User> users = userService.list(wrapper);
多条件排序
List<Location> result = locationService.list(Wrappers.<Location>query().lambda().eq(Location::getRootId, 0)
.eq(Location::getParentId, 0).eq(Location::getLevel, 0).orderBy(true, false, Location::getSortOrder)
.orderBy(true, true, Location::getCreateTime));
between查询
List<Order> list = orderService.list(Wrappers
.<Order>lambdaQuery().between(req.getStartTime() != null && req.getEndTime() != null,
Order::getCreateTime, req.getStartTime(), req.getEndTime());
!=null&&!=“”查询
LambdaQueryWrapper<Order> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Order:getUserId,1)
queryWrapper.isNotNull(Order::getPayType).ne(Order::getPayType, "").last("LIMIT 1");
Order order = orderService.getOne(queryWrapper);```