大胆挑战!Spring Batch批处理8000w条CSV数据,助你高效落地!

官方大胆挑战!Spring Batch批处理8000w条CSV数据,助你高效落地!

需求

第三方给了我一个800w条数据的CSV文件,让我们写入到数据库当中!

  • 优先考虑Spring Batch 批处理框架

官方中文文档

数据流转架构分析

在这里插入图片描述

Spring Batch 是什么、可以干什么、优势在哪…?

上网自行查阅 谢谢!

实战开始

代码结构

在这里插入图片描述

sql 脚本

表结构.sql
在这里插入图片描述

配置job的类

BatchConfig
在这里插入图片描述

  • 就不一 一截图了

实体

ProjectUser

批处理-简单操作

BatchWeb

开启对Validator依赖包提供校验注解支持,来校验ItemReader读取到的数据是否满足要求

CsvBeanValidator
##监听器实现JobExecutionListener接口
CsvJobListener

属性赋值操作 作用域:读

CsvLineMapper

对数据加工 然后并返回

CsvValidatingItemProcessor

启动类

YqmmBatchApplication

配置文件yml

application.yml

模拟:>>>>800w条数据的CSV文件

project_user.csv

启动项目

请求接口

  • http://localhost:11111/batch/execute-jod

成功插入批量数据

在这里插入图片描述

说明:用CSV文件的121条数据来模拟800w数据