springbatch的使用步骤

第一步 创建JOBBUILDERFACTORY
第二部 创建STEPBUILDERFACTORY
第三部New jobbuilderfactory.get(”任务名字”).incrementer(new RunIdIncrementer()).start(itemReaderDemoStep()).build();
第四部NEW StepBuilderfactory.get(“step名字”).chunk(2).reader(fileReader()).processer(myprocesser).writer(flatFieldWriter).build();

MyReader的创建
1,实现itemsreader
2,设置reader的返回值类型,决定reader的读取类型是什么类型的
3,设置reader的参数
4,对reader做映射配置,将读取的内容与JAVA类做映射

MyWriter的创建
1,实现itemswriter
2,对读取的内容做处理
writer的关于数据库写入的写法

@Autowired
	private DataSource datasource;

	@Bean
	public JdbcBatchItemWriter<Customer> itemWriterDb() {
		JdbcBatchItemWriter<Customer> writer = new JdbcBatchItemWriter<Customer>();
		writer.setDataSource(datasource);
		writer.setSql(
				"insert into customer(id,firstName,lastName,birthday) values" + "(:id,:firstName,:lastName,:birthday)");
		writer.setItemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider<Customer>());
		return writer;

	}

reader的关于数据库的读法

@Bean
	@StepScope
	public JdbcPagingItemReader<User> dbJdbcReader() {
		JdbcPagingItemReader<User> reader=new JdbcPagingItemReader();
		reader.setDataSource(datasource);
		reader.setFetchSize(2);
		reader.setRowMapper(new RowMapper<User>() {

			@Override
			public User mapRow(ResultSet rs, int rowNum) throws SQLException {
				User user=new User();
				user.setId(rs.getInt(1));
				user.setUsername(rs.getString(2));
				user.setPassword(rs.getString(5));
				return user;
			}
		});
		MySqlPagingQueryProvider provider=new MySqlPagingQueryProvider();
		provider.setSelectClause("id,username,password");
		provider.setFromClause("from user");
		Map<String,Order> sort=new HashMap<>();
		sort.put("id",Order.ASCENDING);
		provider.setSortKeys(sort);
		reader.setQueryProvider(provider);
		return reader;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值