JDBC - 데이터베이스에서 UPDATE 쿼리를 실행

2024. 4. 8. 18:46정보처리,전산/JAVA

반응형
// JDBC statement 생성
Statement stmt = con.createStatement();

// UPDATE 쿼리 생성
StringBuffer sb = new StringBuffer();
sb.append("UPDATE test SET id='DD'");

// UPDATE 쿼리 실행
boolean isResultSet = stmt.execute(sb.toString());

// UPDATE 결과에 따라 처리
if (isResultSet) {
    // ResultSet이 있는 경우
    ResultSet rs = stmt.getResultSet();
    while (rs.next()) {
        // ResultSet 반복하며 결과 출력
        System.out.println("id: " + rs.getString(1));
    }
} else {
    // ResultSet이 없는 경우
    int rowCount = stmt.getUpdateCount();
    // UPDATE된 행의 수 출력
    System.out.println("rowCount: " + rowCount);
}

// JDBC 자원 정리
stmt.close();​



1. `con.createStatement();`: JDBC 커넥션 객체인 `con`을 사용하여 쿼리를 실행할 준비를 한다.
2. `StringBuffer sb new StringBuffer();`: SQL 쿼리를 생성하기 위한 StringBuffer를 생성한다.
3. `sb.append("update test set id=DD");`: StringBuffer에 "test" 테이블의 "id" 열 값을 "DD"로 업데이트하는 UPDATE 쿼리를 추가한다.
4. `boolean isResult stmt.execute(sb.toString());`: StringBuffer에 추가된 UPDATE 쿼리를 실행하고, 그 결과를 boolean 값으로 반환한다. (true: ResultSet이 있는 경우, false: ResultSet이 없는 경우)
5. `if(isResult){...}`: 만약 실행 결과에 ResultSet이 있다면, ResultSet을 가져와서 처리한다.
   - `ResultSet rs stmt.getResultSet();`: ResultSet을 가져온다.
   - `while(rs.next()) System.out.printin("id "+rs.getString(1));`: ResultSet을 반복하여 "id" 열의 값을 출력한다.
6. `int rowCount stmt.getUpdateCount();`: 실행 결과에 ResultSet이 없는 경우, UPDATE 된 행의 수를 가져온다.
7. `System.out.printIn("rowCount "+rowCount);`: UPDATE 된 행의 수를 출력한다.


 
반응형

'정보처리,전산 > JAVA' 카테고리의 다른 글

ArrayIndexOutOfBoundsException  (0) 2024.05.08
객체 생성  (0) 2024.04.21
public static void main(String[] args)  (0) 2024.04.12
static  (0) 2024.04.12
생성자 - 업캐스팅  (0) 2024.03.12