1. 大数据量分批执行封装
1.1. 前言
在执行定时任务的时候,我们常常会有这样的需求,当数据量越来越大,可能你一次查询的数据就会导致内存溢出,所以我们后期往往又要再不断优化,比如分批处理,但分页以后代码量往往呈直线上升,且结构混乱更加复杂难懂,对此我就想写个封装方法,解决任何的分批数据库查询
1.2. 思路
事实上,分页等操作都是固定套路,我们只需要把查询整体数据及页数,还有如何处理每一批数据抽象出来即可
1.3. 实现
- 封装了一个静态方法工具(依赖Mybatis)
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.StopWatch;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Supplier;
/**
* @author: laoliangliang
* @description: 批量执行工具
* @create: 2020/6/29 9:52
**/
@Slf4j
public class BatchUtil {
/**