场景:
自动任务每天取出新数据,根据业务将每条数据中的字段赋新值。目前每天新数据会有10000+,考虑后续数据会越来越大,所以在程序中每次设定取500条(随意设定)进行修改入库,
步骤:
1. 你的数据库表需要有一个 自增序列字段,其他为业务字段。
2. 两个条件参数每次都要传,一个自增序列,一个最大行数。
3. 保证每次按照自增序列 正序排序,(不要忘记,以免会造成数据混乱)
代码:
long begSn = 0L; //起始有序数值
String MAX_ROW = "500";//每次取的最大条数
do {
// 1.将begSn ,maxRow 作为两个参数传入 sql ,每次都需要更新begSn
//2. 取出来的 list ,每次需要判断 list数据 是否为空,如果为空 就break;
if (list == null || list.size()==0){
break;
}
//3.如果不为空,下面就可以进行 你的业务逻辑的操作。
// 业务操作=====================(省略)
//4. 操作完一批数据 最后需要给begSn重新赋值。
begSn = list.get(list.size()-1).getSn();
}while (true);
先给大家一个大体思路,我所写的代码在云上无返粘下来给大家看,所以只能在自己的本地写一下大体思路,给大家看。