queryWrapper.eq(WmsInventoryGoodsAreaSeat::getStoreId, storeIdBefore);如果为空查询为null的值
时间: 2024-03-11 15:51:14 浏览: 129
如果你想查询为null的值,可以使用`isNull`方法:
```
queryWrapper.isNull(WmsInventoryGoodsAreaSeat::getStoreId)
```
这样就可以查询`WmsInventoryGoodsAreaSeat`表中`storeId`字段值为null的记录了。
相关问题
LambdaUpdateWrapper<StatTurnoverHour> updateWrapper = Wrappers.lambdaUpdate(); updateWrapper.set(StatTurnoverHour::getOrderNum, StatTurnoverHour::getOrderNum.plus(dto.getOrderNum())); updateWrapper.set(StatTurnoverHour::getTurnover, StatTurnoverHour::getTurnover.plus(dto.getMoney())); updateWrapper.eq(StatTurnoverHour::getStoreId, dto.getStoreId()); updateWrapper.eq(StatTurnoverHour::getHourTime, dto.getHourTime()); updateWrapper.eq(StatTurnoverHour::getPayTime, dto.getPayTime()); boolean b = this.saveOrUpdate(statTurnoverHour, updateWrapper);StatTurnoverHour::getOrderNum.plus(dto.getOrderNum())jdk1.8不支持
是的,JDK1.8不支持在Lambda表达式中使用方法引用来进行算术操作。您可以考虑使用Lambda表达式来实现相应的逻辑,例如:
```
updateWrapper.set(StatTurnoverHour::getOrderNum, x -> x.getOrderNum() + dto.getOrderNum());
updateWrapper.set(StatTurnoverHour::getTurnover, x -> x.getTurnover().add(dto.getMoney()));
```
这里使用Lambda表达式来定义一个函数,实现对应的算术操作。
LambdaUpdateWrapper<StatTurnoverHour> updateWrapper = Wrappers.lambdaUpdate(); updateWrapper.setSql("turnover = turnover + " + dto.getMoney()); updateWrapper.setSql("order_num = order_num + " + dto.getOrderNum()); updateWrapper.eq(StatTurnoverHour::getStoreId, dto.getStoreId()); updateWrapper.eq(StatTurnoverHour::getHourTime, dto.getHourTime()); updateWrapper.eq(StatTurnoverHour::getPayTime, dto.getPayTime());解决 BigDecimal 类型字段报错没有默认值的问题,如果字段为空就取dto.getMoney(),不为空就执行updateWrapper.setSql("turnover = turnover + " + dto.getMoney());
可以使用三目运算符来判断,如果 BigDecimal 字段不为空,则执行更新操作,否则将 dto.getMoney() 赋值给该字段。代码示例如下:
```
updateWrapper.setSql("turnover = turnover + " + (dto.getTurnover() != null ? dto.getTurnover() : dto.getMoney()));
```
同样的方法也可以用于 order_num 字段的更新,示例代码如下:
```
updateWrapper.setSql("order_num = order_num + " + (dto.getOrderNum() != null ? dto.getOrderNum() : 1));
```
这样做可以保证字段不为空,避免了出现报错的情况。
阅读全文