我想编写一个JdbcPagingItemReader,其中包含一个复杂的查询,如:
从yyy选择xxx,其中a=b和c=(从yyy a=b选择max(f) )
...with参数
下面是我如何写我的查询:
<bean
            class="org.springframework.batch.item.database.support.SqlPagingQueryProviderFactoryBean">
            <property name="dataSource" ref="dataSource" />
            <property name="selectClause" value="SELECT ohrefnum" />
            <property name="fromClause" value="FROM orderhdr_all" />
            <property name="whereClause"
                value="WHERE customer_id =: CUSTOMER_ID AND ohentdate = (SELECT MAX (ohentdate) FROM orderhdr_all WHERE customer_id =: CUSTOMER_ID)" />
            <property name="sortKey" value="ohrefnum" />
        </bean>但是它会引发以下错误:java.sql.SQLException: Missing IN or OUT parameter at index:: 2
发布于 2014-10-17 13:57:02
我找到了问题的根源。它只是"=:“后面的空格字符。
它应该是
customer_id =:CUSTOMER_ID)
而不是
其中customer_id =: CUSTOMER_ID)
https://stackoverflow.com/questions/26423941
复制相似问题