假设你的订单表有 10 万数据要更新状态,不能一次性查询所有未更新的订单,要分批。
反例:
List<Order> list = sqlMap.queryList("select * from Order where status='0'");
for(Order order:list){
order.setStatus(1);
sqlMap.update(order);
}
正例:
Integer count = sqlMap.queryCount(select count(1) from Order where status ='0');
while(true){
int size=sqlMap.batchUpdate(params);
if(size<500){
break;
}
}