0%

mybaits 处理大数据集

mybaits 处理大数据集 本文只介绍 游标方式(Cursor). ResultHandler方式自行搜索。

Cursor(since 3.4.1)

使用 游标方式能 明显降低 应用内存的使用量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public interface PersonMapper {
Cursor<Person> selectAllPersons();
}


class Test{
public static void main(String[] args){
PersonMapper personMapper = ...;
try (Cursor<Person> persons = personMapper.selectAllPersons()) {
for (Person person : persons) {
// process one person
}
}
}
}

详细 内容 可见 https://ifrenzyc.github.io/2017/11/16/mysql-streaming/。

其他参考

mysql streaming 的使用和约束
mybatis处理大数据集
mybaits使用流式查询避免数据量过大造成oom
mysql stream方式读取超大结果集