저는 일괄 처리 작업을 통해 데이터베이스에서 데이터 행을 얻습니다.스프링 배치 rowNum이 증가하지 않습니다.
RowMapper
의 첫 번째 행에서 무엇인가하고 싶습니다.
public myVO mapRow(ResultSet rs, int rowNum) throws SQLException {
System.out.println("rowNum is " + rowNum);
if (rowNum == 1) {
// do something
}
// some other code here
}
이것은 처음에는 잘 작동합니다. 그러나 scope="step"
을 리더 파트의 일괄 xml 파일에 추가 한 후에 rowNum
은 항상 0으로 시작하여 증가합니다.
scope="step"
을 유지하는 동안 문제를 해결할 수있는 방법이 있습니다.
문제가 단계 범위로 인해 발생했다고 생각하지 않습니다. 문제를 재현하여 여기에 게시 할 수있는 최소한의 일자리를 만들 수 있습니까? –
'late-binding'' scope = "step"'을 제거하려고 시도하고'rowNum'이 다시 작동합니다. 그런 다음 다시 넣으면'rowNum'이'System.out.println();에 0으로 표시됩니다. –
여기에 SQL 쿼리를 넣을 수 있습니까? 이 시나리오에서 값이 변경되는 where 절이 있습니까? – kamoor