JdbcPagingItemReader无限循环

时间:2014-02-17 11:16:11

标签: spring spring-batch

为什么它会无限循环?总是返回十个记录而不继续下一个记录

<bean id="pagingItemReader1" class="org.springframework.batch.item.database.JdbcPagingItemReader" scope="step">
    <property name="dataSource" ref="dataSource1" />
    <property name="queryProvider">
        <bean class="org.springframework.batch.item.database.support.SqlPagingQueryProviderFactoryBean">
            <property name="dataSource" ref="dataSource1" />
            <property name="selectClause" value="select id, image" />
            <property name="fromClause" value="from squares" />
            <property name="whereClause" value="where image like :value1 or image like :value2" />
            <property name="sortKey" value="id" />
        </bean>
    </property>
    <property name="parameterValues">
        <map>
            <entry key="value1" value="%/images/%" />
            <entry key="value2" value="%/temp/%" />
        </map>
    </property>
    <property name="pageSize" value="10" />
    <property name="rowMapper">
        <bean class="test.batch.ImagesRowMapper" />
    </property>
</bean>

使用MySQL 5.1

2 个答案:

答案 0 :(得分:1)

缺少括号。

请更改
  “whereClause”value =“where image like:value1或image like:value2”


  “whereClause”value =“where(图像如:value1或图像:value2)”

答案 1 :(得分:0)

我不知道为什么,但我可以和你分享我的解决方案。

将pageSize增加到总行数(当然是当前查询的行数)。

当我在whereClause

中使用'OR'时出现

有人可以调查吗?