[JAVA] 자바 - JDBC (Statement / createStatement / executeUpdate)
by mini_min[JAVA]
자바 - JDBC (Statement / createStatement / executeUpdate)
✔️ Statement
: 오라클과 자바 연동시키는 클래스 다음으로, 본격적으로 데이터를 가져올 수 있는 인터페이스를 배워봤다.
: 정적인 SQL 문을 실행하기 위한 메소드를 제공하는 인터페이스이다.
: connection 인터페이스의 createStatement() 메소드 이용해 객체 반환
import java.sql.Statement;
-- 일단 DB 연결된 상태를 담을 객체 불러오기
-- Statement 는 null로 초기값을 준다.
-- SQL 문을 작성할 String sql 도 선언해주기.
Connection conn = DBConn.getConnection();
Statement stmt = null;
String sql;
int result;
-- SQL 문 실행하기
try {
stmt = conn.createStatement();
//INSERT INTO 테이블명(컬럼,컬럼) VALUES(값, 값);
// 2번 실행하면 에러. 기본키 중복 안된다.
sql = "INSERT INTO score(hak, name, birth, kor, eng, mat) VALUES("
+ " '1002', '홍길동', '2002-10-10', 80, 90, 95) ";
result = stmt.executeUpdate(sql);
System.out.println(result + "행이 추가 되었습니다.");
💡 stmt = conn.createStatement : 정적 쿼리 실행문이다!
해당 메소드를 이용해서 객체를 반환한다.
sql 문자열 객체에 실행문을 적어주며,
stmt 객체에 executeUpdate() 메소드를 이용해 DML / DDL 을 실행한다.
⭐ executeUpdate()
: DML , DDL 을 실행
: DML은 변경 행수를 반환하고 DDL은 0을 반환 *** = 그래서 result 가 int 형이구나!
: SELECT 문을 제외한 나머지 쿼리를 실행하는 것!
: 자바에서는 INSERT, UPDATE, DELETE 등의 명령을 실행하면 자동으로 COMMIT 된다.
-- 마지막으로 예외처리 해주기
} catch (Exception e) {
e.printStackTrace();
} finally {
if(stmt != null) {
try {
stmt.close();
} catch (Exception e2) {
}
}
DBConn.close();
}
-- try ~ with ~ resources 를 이용한 리소스 자동 close 도 가능
Connection conn = DBConn.getConnection();
String sql;
int result;
//try ~ with ~ resources 를 이용한 리소스 자동 close
try(Statement stmt = conn.createStatement()) {
sql = "INSERT INTO score(hak, name, birth, kor, eng, mat) VALUES("
+ " '2001', '너자바', '2002-10-11', 90, 90, 95) ";
result = stmt.executeUpdate(sql);
System.out.println(result + "행이 추가 되었습니다.");
} catch (Exception e) {
e.printStackTrace();
} finally {
DBConn.close();
}
'Java' 카테고리의 다른 글
[JAVA] 자바 - JDBC PreparedStatement 인터페이스 (0) | 2022.08.22 |
---|---|
[JAVA] 자바 - JDBC Statement (SELECT 문 / executeQuery / ResultSet) (0) | 2022.08.21 |
[JAVA] 자바 - JDBC (Java Database Connectivity) (Connection, DriverManager) (0) | 2022.08.21 |
[JAVA] 자바 - Class 클래스로 객체 생성 방법! (0) | 2022.08.03 |
[JAVA] 자바 - String 클래스 정보 얻기 (0) | 2022.08.03 |
블로그의 정보
개발자 미니민의 개발로그
mini_min