DB/이론 및 개념
[day_02] DB / 03. JDBC (Java Database Connectivity)
파프리카_
2020. 8. 7. 15:32
728x90
반응형
JDBC (Java Database Connectivity)란?
→ 자바 데이터베이스 프로그래밍 API
→ 자바 어플리케이션과 데이터베이스 연동을 위한 기술
: 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해주는 "프로그래밍 인터페이스"이다.
JDBC API
- Java 표준 제안자(Sun MicroSystems)
: JDBC 명세(기준)를 제공한다 - DB Vendor
: JDBC 명세를 기준으로 JDBC API를 개발하여 배포한다 - Java 응용 프로그램 개발자
: DB Vendor에서 배포한 JDBC API를 받아 JDBC 명세를 보고 프로그램을 작성한다
* java.sql library 설명링크 : https://docs.oracle.com/javase/8/docs/api/java/sql/package-summary.html
JDBC의 역할
: 통신자의 역할
- 응용프로그램과 DBMS간의 통신을 중간에서 번역해주는 역할을 한다.
JDBC Programming Pattern | 개발 단계
- Driver loading
: 사용하는 데이터 베이스에서 지원하는 드라이버(ex.ojdbc.jar)를 로딩하여,
데이터베이스와 java 어플리케이션 연동을 위한 기본정보를 메모리에 적재한다.
: class loading 단계에서 driver도 loading해주는 작업
→ Class.forName ([driver path]) - Connection(연결)
: 데이터베이스와 연결하고, 정보를 반환받아 Connection 객체에 저장한다.
: Connection 객체에 속한 메서드로 SQL을 실행할 수 있다.
→ Connection con = DriverManager.getConnection([db url], [sql id], [sql password]) - Statement/PreparedStatement
: 데이터베이스와 소통하기 위한 SQL을 실행할 수 있는 메서드를 지원한다.
→ String sql = "SELECT id, name FROM member WHERE address=? AND name=?"
→ PreparedStatement pstmt = con.prepareStatement(sql)
+ SQL 문에 ? 가 있을 경우 SQL문을 완성해주기 위해 setString을 이용하여 할당한다
→ setString(n, value) : n - n번째 물음표 / value - 할당할 문자열
→ setInt(n, value) : n - n번째 물음표 / value - 할당할 숫자형 - SQL 실행
1) select의 경우 (ResultSet에 결과 값 할당)
→ ResultSet rs = pstmt.executeQuery()
2) insert, delete, update 의 경우
: 결과에 영향을 준 row 수를 반환 (int type)
→ pstmt.executeUpdate() - close(Connection, Statement, ResultSet)
: 역순으로 닫아주기
→ rs.close()
→ pstmp.close()
→ con.close()
728x90
반응형