一个关于“程序猿”的好消息— Spring Batch入门知识
Spring Batch本身提供了许多开箱即用的ItemReader与ItemWriter实现。Spring Batch 4针对这些组件又提供了Builder实现,用户可以很方便的通过Builder模式来使用这些组件,接下来我们就开始学习。
本章,我们重点讨论以下几种ItemReader和ItemWriter的使用
ItemReader
1、 FlatFileItemReader
对于FlatFileItemReader,官方示例已给出代码实现。我们这里不多赘述
2、 JpaPagingItemReader
以JPQL方式读取海量数据库记录,为避免内存泄漏,以分页方式读取
3、 RepositoryItemReader
以Spring Data JPA(Spring Data Repository)方式读取数据,传入参数包含:
PagingAndSortingRepository对象,结果集排序方式,调用目标方法等。返回Spring Data JPA方法实现执行结果。比如,对于UserReaderRepository:
接口中定义findAllByFirstNameLike方法,查询FirstName以特定字符开始的数据库记录,因此,我们的RepositoryItemReader定义如下
ItemWriter
1、 JdbcBatchItemWriter
利用PreparedStatement批处理特性保存数据。
2、 RepositoryItemWriter
调用Spring Data JPA (Spring Data CrudRepository)指定方法实现,将数据保存到目标数据库中。比如,我们定义PeopleCrudRepository接口
我们调用CrudRepository中的默认save方法实现