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
반응형
'DB > 이론 및 개념' 카테고리의 다른 글
[day_03] DB / 06. SQL 기본 4 - Oracle SEQUENCE 시퀀스 (0) | 2020.08.10 |
---|---|
[day_02] DB / 05. 기본 SQL 3 - Oracle 함수 (0) | 2020.08.08 |
[day_02] DB / 04. 기본 SQL 2 - DDL (CREATE, ALTER), DML (INSERT, UPDATE) (0) | 2020.08.07 |
[day_01] DB / 02. 기본 SQL 1 (DDL, DML) (0) | 2020.08.06 |
[day_01] DB / 01. Oracle SQL 설치 및 Eclipse IDE와 연동하기 (9) | 2020.08.06 |