2015-12-28 239 views
0

我在Spring批處理中使用StoredProcItemReader,並且我的storedProcedure正在返回兩個結果集。我怎樣才能從一個去/通話結果集中得到結果。我可以設置storedProcItemReader.setRefCursorPosition(< <第1結果集索引>>)和storedProcItemReader.setRefCursorPosition(< <第2結果集索引>>)。StoredProcItemReader-過程返回兩個結果集

我們一樣可以在普通的Java JDBC調用兩個ResultSet的結果,如: -

CallableStatement cStmt = myConnect.prepareCall("{CALL sp_emps_in_dept(?)}"); 
cStmt.setInt(1, deptId); 
cStmt.execute(); 
ResultSet rs1 = cStmt.getResultSet(); 
while (rs1.next()) 
    { 
    // Result 
    } 
rs1.close(); 
/* process second result set */ 
if (cStmt.getMoreResults()) 
    { 
     ResultSet rs2 = cStmt.getResultSet(); 
     while (rs2.next()) 
     { 
      // 2nd Result 
     } 
     rs2.close(); 
    } 
cStmt.close(); 

回答

0

你需要爲這個自定義ItemReader。 Spring Batch的StoredProcedureItemReader僅支持單個讀取ResultSet