JAVA

JDBC 한번에 여러개 처리 addBatch, executeBatch

짱코딩러 2022. 10. 6. 14:30

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