Mybatis流式读取数据

应用场景说明

MyBatis JDBC三种读取方式:

1.一次全部(默认):一次获取全部。

2.流式:多次获取,一次一行。

3.游标:多次获取,一次多行。

在开发中我们经常需要会遇到统计数据,如果数据量过大,采用默认的读取方式(一次性获取全

部)会导致内存飙升,甚至是内存溢出。而导出数据又需要查询大量的数据,因此采用流式查询就

比较合适了。

 // 流式查询 一条条查询
            //收集数据用的list
        List> list = new LinkedList<>();
        this.getBaseMapper().selectImpalaBySql(sql, resultContext -> {
            // 取流式查询对象
            Map resultData = resultContext.getResultObject();
            list.add(resultData);
            if (batchSize.compareTo(list.size()) <= 0) {
                //批量处理逻辑
            }
        });
void selectImpalaBySql(@Param("sqlScript") String sqlScript, ResultHandler> handler);
 


 

你可能感兴趣的:(工具类,java,开发语言)