前言
Spring Batch預(yù)定義Readers&Writers
Spring batch 提供了一些預(yù)定義的 reader 和 writer, 還有自己的生態(tài), 所以可以很方便的找到合適的通用的 reader 和 writer, 如果這個(gè)富婆也不能滿足再自己定義
官方自己的文檔在這里:
https://docs.spring.io/spring-batch/docs/4.3.x/reference/html/appendix.html#listOfReadersAndWriters
主要是講一些 關(guān)系型數(shù)據(jù)庫(kù), 非關(guān)系型數(shù)據(jù)庫(kù), 消息隊(duì)列, 文件, json, xml 等格式的 reader 和 writer
還有大家會(huì)很常用的 mybatis 為 spring batch 開發(fā)的 reader 和 writer:
http://mybatis.org/spring/batch.html
注意在使用 'MyBatisPagingItemReader' 的時(shí)候要注意 ?ORDER BY id LIMIT #{_skiprows}, #{_pagesize}, 不然會(huì)一直只讀到第一頁(yè)
使用 'MyBatisBatchItemWriter' 的時(shí)候要注意默認(rèn)是每一行數(shù)據(jù)都需要被更新到, 不然就會(huì)報(bào)錯(cuò), 可以通過配置 'assertUpdates' 避免這種限制
還有我們自己定義的一些典型的 reader:
EmailReader, HttpReader, MaxIdReader 等, 都是為了解決不同的問題, 寫一個(gè) reader 的難度不是很高, 我會(huì)放在下面的 github 里大家一起討論
https://github.com/currentperson/spring-codog