关于lambdaQuery().last方法错误使用
public List<Orders> queryOverTimePayOrdersListByCount(Integer count) {
return this.lambdaQuery()
// 未支付
.eq(Orders::getOrdersStatus, OrderStatusEnum.NO_PAY.getStatus())
// 15分钟之前
.lt(Orders::getCreateTime, LocalDateTime.now().minusMinutes(15))
.last("limit" + count)
.list();
}
在上面的代码中lambdaQuery().last方法是 MyBatis-Plus 提供的一个方法,
用于在最终生成的 SQL 语句末尾添加用户自定义的 SQL 片段。
上面的代码中设置了遍历的数据条数的限制即count,而.last方法中("limit"+count),limit与count之间并没有添加空格,这导致SQL语句直接错误,从而无法从数据库中查找到数据
正确代码如下:
public List<Orders> queryOverTimePayOrdersListByCount(Integer count) {
return this.lambdaQuery()
// 未支付
.eq(Orders::getOrdersStatus, OrderStatusEnum.NO_PAY.getStatus())
// 15分钟之前
.lt(Orders::getCreateTime, LocalDateTime.now().minusMinutes(15))
//多一个空格
.last("limit " + count)
.list();
}
浙公网安备 33010602011771号