동일한 명령문 내에서 여러 개의 쿼리를 실행해야하는 경우가 있습니다. Java로이 작업을 수행했지만 지금은 Spring으로 전환하여 더 나은 응용 프로그램을 작성하려고합니다. 어쨌든, 나는 다음과 같은 것을 가지고있다.Spring 4.1 JdbcTemplate 여러 ResultSet의
select * from table;select * from table2;
위의 코드는 샘플이며 실제로 2 개의 테이블을 쿼리하지는 않는다.
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)를 사용하여 단일 쿼리를 실행할 수 있었으며 결과에 매우 감명 받았습니다.
누군가가 어떤 안내를 제공하고 어떤 것이 작동하는지 말해 주시면 정말 감사하겠습니다.
당신은 조합을 할 수 있습니다. tab1 union에서 * 선택 tab2에서 선택하십시오. 이것이 현재 데이터베이스에서 작동하는지 확실하지 않습니다. –
이 검색 엔진이 어떻게 작동하는지는 여러 레코드 세트를 반환하며 이는 내 통제 범위를 벗어납니다. 저에게 JSON 형식으로 데이터를 반환하는 클래스가 있지만 더 깨끗하고 유지 보수가 쉬운 접근 방식으로 Spring으로 변환하려고했습니다. –