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批处理特性保存数据。
1、RepositoryItemWriter
调用Spring Data JPA (Spring Data CrudRepository)指定方法实现,将数据保存到目标数据库中。比如,我们定义PeopleCrudRepository接口
我们调用CrudRepository中的默认save方法实现
领取专属 10元无门槛券
私享最新 技术干货