Chargeur H2 depuis un CSV
Nous codons un second exemple qui montre comment charger un fichier CSV dans une base H2. L’exemple utilise un Reader (unité de lecture) pour accéder au contenu du fichier CSV. Il utilise le FlatFileItemReader pour lequel nous indiquons le format d’une ligne via la déclaration : FlatFileItemReader<Departement> reader = newFlatFile ItemReader<Departement>();. L’unité de lecture utilise un LineMapper pour décoder une ligne dans le fichier CSV. Nous avons un Writter pour écrire dans la base H2. Il s’agit d’un JdbcBatchItemWriter. Il stocke une ligne de données dans H2. Nous avons un ItemProcessor qui traite une ligne de données. Ici notre processeur met en majuscules les informations lues dans le fichier CSV. Nous avons un Job qui enchaîne des étapes nommées Step. Notre Step step1 lit la ligne dans le CSV, la traite avec le processor et l’enregistre dans H2.
Le lanceur :
@SpringBootApplication
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
La classe Departement :
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class Departement {
private String code;
private String nom;
}
La configuration du batch :
@Configuration
@EnableBatchProcessing ...