Chillax in dev

[JDBC] JDBC 프로그래밍 익숙하게 하기 본문

Java 공부/JDBC

[JDBC] JDBC 프로그래밍 익숙하게 하기

Seong Story 2020. 10. 16. 17:54
728x90

[JDBC] JDBC 프로그래밍 익숙하게 하기

- JDBC 프로그래밍 방식은 매번 같기에 라인별로 그 의미를 한 번 더 정리해보고 순서를 암기해서 술술 사용하기 위해 정리한다.

 

- JDBC 프로그래밍 순서.

  1. JDBC 드라이버를 로딩한다.
  2. 데이터베이스에 연결한다.
  3. SQL 실행을 위한 Statement(또는 PreparedStatement) 객체를 생성한다.
  4. SQL을 실행한다.
  5. SQL 실행결과를 받아서 처리한다.
  6. Statement(또는 PreparedStatement)를 종료한다.
  7. 데이터베이스 연결을 종료한다.

<해석>

1. JDBC 드라이버를 로딩한다. 

→ 우리는 JSP프로그래밍을 통해서 DB에 접속하고 싶다 그러기 위해서 먼저 JDBC 드라이버를 로딩해야 한다.

2. 데이터베이스에 연결한다.

→ JDBC 드라이버를 로드했다면 이제 커넥션 객체 를생성한다. 이를 통해 DB 사용 시 필요한 정보를 파라미터로 넘겨서 연결을 할 수 있다. 참고로 DirverManager클래스의 getConnecttion() 메서드를 이용하여 생성한다.

3. SQL 실행을 위한 Statement(또는 PreparedStatement) 객체를 생성한다.

→ 이제 데이터베이스가 연결되었습니다. SQL문을 실행하기 위하여 Statement 객체 또는 PreparedStatement 객체를 생성합니다. PreparedStatement 가 Statement 보다 유지보수 측면에서 유리하다. 왜냐하면PreparedStatement는sql문을미리 만들어주고 값을 입력하는 방식이기 때문이다.

또한 아래의 두 메서드는 Statement의 멤버 메서드인데, PreparedStatement는 Statement의 상속을 받았기에 모두 사용 가능하다.

  • executeQuery(String sql) : sql의 select문을 실행 후 결과를 반환한다.
  • executeUpdate(String sql) : 그 이외의 update, insert, Delete 등의 sql문을 실행한다.

4. SQL을 실행한다.

→executeQuery(), executeUpdate() 메서드를 사용하여 실행한다.

1).Statement 객체를 사용하고 리턴 결과가 있을 때

ResultSet rs = stmt.executeQuery(String sql)

2). Statement 객체를 사용하여 리턴 결과가 없을 때

stmt.executeUpdate(String sql)

3). PreparedStatement 객체를 사용하여 리턴 결과가 있을 때

ResultSet rs = pstmt.executeQuery();

4). PreparedStatement 객체를 사용하여 리턴 결과가 없을 때

 pstmt.executeUpdate();

5. 모든 연결을 종료한다.

→지금까지 사용한 모든 연결들을 종료해주어야 메모리 부족과 같은 문제가 발생하여 시스템에 생기는 오류를 막을 수 있다. 그러므로 Connection, Statement , PreparedStatement, ResultSet은 반드시 종료 해주자. close() 메서드 이용.

if( rs!=null)rs.close();
if( pstmt!=null) pstmt.close();
if( con!=null) con.close();
if( stmt!=null) stmt.close();

 

728x90
LIST
Comments