Spring Batch is a powerful module to implement a batch process for tons of data conveniently.
This tutorial guide you how to import CSV Data to PostgreSQL Database using Spring Batch Job.
I. Technology
- Java 1.8
- Maven 3.3.9
- Spring Tool Suite – Version 3.8.1.RELEASE
- Spring Boot: 1.4.0.RELEASE
II. Overview
1. Goal
To build a simple application that expresses how we can use Spring Batch with Job Step (including
ItemReader,
ItemProcessor,
ItemWriter and
JobExecutionListener) to read Customer Data from CSV file, then put them to PostgreSQL Table named 'customer'.
- Reader: reads content of CSV file, then maps the read data to fields of DataModel
Customer.
- Processor: converts each Customer record's content to new content (for example, get Random ID and uppercase Name String) which will be written to Database Table.
- Writer: writes batch of records to PostgreSQL Database using DAO.
- Listener: handles after Step, read data from Database Table to verify and show LOGs.
- RestController: runs Job using JobLauncher, then return Complete String to Client.
- DAO: interacts with Database.
2. Project Structure
3. Step by step
- Create Spring Boot project
- Configure application properties
- Create a DataModel
- Create a DAO
- Create Job Step: Reader, Processor, Writer, Listener
- Create Batch Configuration
- Create a WebController
- Run Spring Boot Application & Enjoy Result
III. Practice
More at:
https://grokonez.com/spring-framework/spring-boot/how-to-import-csv-data-to-postgresql-database-using-spring-batch-job
How to import CSV data to PostgreSQL Database using Spring Batch Job