Моя цель - получить DeptNames некоторых сотрудников из таблицы Emp. Но количество сотрудников меняется. Скажите, пожалуйста, правильный ли приведенный ниже подход и какой из приведенных ниже подходов лучше для производительности? Или есть лучший способ сделать это?
PreparedStatement pstmt = conn.prepareStatement("SELECT Dept from Emp WHERE EmpNum = ? ");
for (int i = 0, len = empNumberList.size(); i < len; i++) {
pstmt.setLong (1, empNumberList.get(i));
ResultSet rs = pstmt.executeQuery();
}
Или
StringBuffer buffer = new StringBuffer();
buffer.append("SELECT Dept from Emp WHERE EmpNum IN(?");
for (int i = 0, len = empNumberList.size(); i < len; i++) {
buffer.append(",?");
}
buffer.append(")");
PreparedStatement pstmt = con.prepareStatement(buffer.toString());
for(int i = 0; i < len; i++) {
pstmt .setLong(i, empNumberList.get(i));
}
ResultSet rs = pstmt .executeQuery();
Или есть другой лучший способ сделать это? Пожалуйста посоветуй. Заранее спасибо!
Ravilla