SpringBoot 一个事务内执行两个同样的sql语句,第一次查询是存在数据的,第二次查询返回数据是空的。

这个是外部方法deliverOrderInfoList
在这个方法内执行了一个sql
List infoList = infoMapper.selectAllByOrderIdList(orderIdList);

img

然后在方法内部调用了createLogisticInfoBatch这个方法
createLogisticInfoBatch这个方法也执行了List infoList = infoMapper.selectAllByOrderIdList(orderIdList);这个查询语句

img

为什么第二次查询返回的数据是空的,第一次查询的数据是有的?

检查一下,第二次传进去的 List , 生成物流单的方法返回的List 应该是空的

img

你两次查询条件不一样,打印出来看看