Spring Batch之Sample(游标方式读写DB数据表)(二)

在看本篇博客之前,希望您能先到http://xuanmeiku.taobao.com去转转,里面全是真皮炫美酷时尚女鞋,价格实惠!如果你看中了哪一款,可以加我qq1074992674,或者直接通过旺旺联系我!欢迎大家的骚扰!本人诚信经营,绝不做欺骗他人的事情!

上篇文章中我们已经实现了用游标方式读写DB数据表,上篇的itemReader中sql语句并没有条件的限制,只是将表中的所有的数据都查询出来,然后再保存,本篇文章我们主要介绍怎样通过给定字段的值查出相应的结果集。

项目结构如下:

上篇文章不同的主要是batch.xml配置文件,其余的都一样,该配置文件的内容主要如下:

<?xml version="1.0" encoding="UTF-8"?>
<bean:beans xmlns="http://www.springframework.org/schema/batch"
	xmlns:bean="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
http://www.springframework.org/schema/tx 
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
http://www.springframework.org/schema/aop 
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/batch 
http://www.springframework.org/schema/batch/spring-batch-2.2.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd
">
	<bean:import resource="applicationContext.xml" />

	<!-- Job信息的配置 -->
	<job id="jdbcJob">
		<step id="jdbcstep">
			<tasklet>
				<chunk reader="jdbcItemReader" processor="jdbcItemProcessor"
					writer="jdbcItemWriter" commit-interval="1"></chunk>
			</tasklet>
		</step>
	</job>

	<!-- jdbcItemReader信息配置 -->
	<bean:bean id="jdbcItemReader"
		class="org.springframework.batch.item.database.JdbcCursorItemReader"
		scope="step">
		<bean:property name="dataSource" ref="dataSource"></bean:property>
		<bean:property name="sql"
			value="select ID,USERID,USERNAME,PASSWORD from T_USER where ID <= ?"></bean:property>
		<bean:property name="preparedStatementSetter" ref="paramStatementSetter"></bean:property>
		<bean:property name="verifyCursorPosition" value="true"></bean:property>
		<bean:property name="rowMapper">
			<bean:bean class="cn.lichunan.springbatch.rowmapper.UserRowMapper" />
		</bean:property>
	</bean:bean>
	
	<bean:bean id="paramStatementSetter"
		class="org.springframework.batch.core.resource.ListPreparedStatementSetter"
		scope="step">
		<bean:property name="parameters">
			<bean:list>
				<bean:value>#{jobParameters['id']}</bean:value>
			</bean:list>
		</bean:property>
	</bean:bean>
		
	<!-- jdbcItemWriter信息的配置 -->
	<bean:bean id="jdbcItemWriter"
		class="org.springframework.batch.item.database.JdbcBatchItemWriter">
		<bean:property name="dataSource" ref="dataSource"></bean:property>
		<bean:property name="sql"
			value="insert into T_DESTUSER(ID,USERID,USERNAME,PASSWORD,UPDATETIME,UPDATEUSER)values(:id,:userId,:userName,:passWord,:updateTime,:updateUser)"></bean:property>
		<bean:property name="itemSqlParameterSourceProvider">
			<bean:bean
				class="org.springframework.batch.item.database.BeanPropertyItemSqlParameterSourceProvider"></bean:bean>
		</bean:property>
	</bean:bean>

</bean:beans>
“paramStatementSetter”
的作用就是给sql参数中的?赋值。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值