addBatch는 쿼리 실행을 하지 않고 쿼리 구문을 메모리에 올려두었다가, 실행 명령(executeBatch)이 있으면 한번에 DB쪽으로 쿼리를 날린다.
public void multiDelete(String[] qnano) {
String sql = "delete from qna where qnano=?";
int res = 0;
int[] cnt = null;
try {
conn = DBManager.getConnection();
pstmt = conn.prepareStatement(sql);
for (int i = 0; i < qnano.length; i++) {
pstmt.setString(1, qnano[i]);
pstmt.addBatch();
}
cnt = pstmt.executeBatch();
for (int i = 0; i < cnt.length; i++) {
if (cnt[i] == -2) {
res++;
}
}
if (qnano.length == res) {
conn.commit();
} else {
conn.rollback();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DBManager.close(conn, pstmt);
}
}
'JAVA' 카테고리의 다른 글
JAVA 문자열 쪼개기 StringTokenizer charAt (0) | 2022.11.11 |
---|---|
JAVA 싱글톤(Singleton) (0) | 2022.08.17 |
JAVA 쓰레드 (0) | 2022.07.29 |
JAVA 컬렉션 프레임웍 List Set Map (0) | 2022.07.29 |
JAVA Calendar (0) | 2022.07.26 |