我的目标是从 Emp 表中获取某些员工的 DeptNames。但员工人数参差不齐。请判断以下方法是否正确,以及以下哪种方法性能更好。还是有更好的方法来解决它?
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();
或者有没有其他更好的方法来做到这一点?请指教。提前致谢!
拉维拉