1
我有一個情況我需要在同一語句中執行多個查詢。我在Java上做得很好,但現在我正在嘗試切換到Spring並構建一個更好的應用程序。無論如何,我有這樣的事情:春季4.1的JdbcTemplate多個ResultSet的
select * from table;select * from table2;
上面的代碼是一個示例,我不是真的查詢這樣的2個表。第三方應用程序,我使用返回多個記錄集上的索引等面搜索和元數據......總之,一個標準的Java類,我能夠做到以下幾點:
PreparedStatement ps = connect.prepareStatement(sql).execute();
do {
ResultSet rs = ps.getResultSet();
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
@SuppressWarnings("rawtypes")
ArrayList list = new ArrayList();
while (rs.next()) {
Map row = new LinkedHashMap<String, String>();
for (int i=1; i <=columns; ++i) {
row.put(md.getColumnName(i), rs.getObject(i));
// append to our string builder the unique id for each record found
if(cnt == 1) {
if(md.getColumnName(i).equalsIgnoreCase("id")){
id_list.append(rs.getObject(i) + ",");
}
if(md.getColumnName(i).equalsIgnoreCase("part_number")){
suggest.append(rs.getObject(i) + "|");
}
}
}
list.add(row);
}
result.put(label, list);
} while (ps.getMoreResults());
我修剪下來爲了簡潔起見,留下足夠的視覺代碼。我是能夠運行與JdbcTemplate.query(SQL,RowMapper的)單一的查詢和印象深刻的結果。
如果任何人都可以提供一些指導,告訴我什麼工作我真的很感激。
,你可以做工會。從tab2中選擇* from tab1 union select *。不知道這是否適用於您當前的數據庫。 – 2014-12-04 00:38:24
這就是這個特定的搜索引擎是如何工作的,它返回多個記錄集,這是我無法控制的東西。我有一個返回的數據轉換成JSON格式對我來說一類,但我希望將其轉換爲春季爲更清潔,更易於維護的方法。 – 2014-12-04 12:43:45