2013-06-01 54 views
2

我試圖使用Spring jdbc模板獲取resultsetmeta數據。如果至少有一行返回,它工作正常。從Spring JdbcTemplate中提取ResultSetMetaData

問題出現在沒有行返回時,即空resultSet

我已經嘗試了很多,仍然堅持相同。如果有任何解決辦法,請幫助我。

此外,我在春天發現ResultSetWrappingSqlRowSetMetaData類。這在我的語境中有用嗎?

感謝您的幫助。

回答

11

最後我找到了我的問題的答案。下面是代碼:

template.query(builder.toString(),new ResultSetExtractor<Integer>() { 

    @Override 
    public Integer extractData(ResultSet rs) throws SQLException, DataAccessException { 

     ResultSetMetaData rsmd = rs.getMetaData(); 
    int columnCount = rsmd.getColumnCount(); 
    for(int i = 1 ; i <= columnCount ; i++){ 
     SQLColumn column = new SQLColumn(); 
    column.setName(rsmd.getColumnName(i)); 
    column.setAutoIncrement(rsmd.isAutoIncrement(i)); 
    column.setType(rsmd.getColumnTypeName(i)); 
    column.setTypeCode(rsmd.getColumnType(i)); 
    column.setTableName(sqlTable.getName().toUpperCase()); 
    columns.add(column); 
    } 

    return columnCount; 
} 
}); 

有關詳細說明,您可以訪問here

+0

什麼是建設者在這裏?查詢? – Burusothman

+0

這是我用來構建查詢字符串的StringBuilder – dharam

相關問題