파게로그

[JDBC] JDBC 개요 본문

콤퓨타 왕기초/JSP

[JDBC] JDBC 개요

파게 2021. 3. 13. 13:42

JDBC: Java Database Connectivity

 

예를 들어... 코드에서 DB에 접속할 때 개별 제품에 종속된 코드(DBMS의존적인)를 짜려면 개별 db에 대해서도 알아야 하고 DBMS 바꾸기도 힘들고...

 

연결/인증Connection

문장실행Statement

결과패치ResultSet

 

JDBC는 이러한 기능들을 단일화해줌

(이 말은 곧 DBMS만의 특화된 기능들을 못 쓰는 건가...?)

 

JDBC 드라이버(DBMS마다 별개)가 실제 구동 코드를 가지고있고

개발자는 JDBC가 제공하는 기능을 이용

 

1. 드라이버 로드하기

2. 연결 생성하기

3. 문장 실행하기

4. 결과집합 사용하기

 


JDBC 드라이버 설치

예) 오라클 DBMS 드라이버 설치

 

import java.sql.Connection;

public class Program {
	public static void main(String[] args) {
		Connection con;
	}
}

 

1. 드라이버 로드

Class.forName("oracle.jdbc.driver.OracleDriver");

드라이버가 메모리에 잡힘

 

2. 

String url = "jdbc:oracle:thin:@localhost:1521/xepdb1"; // 맨 마지막은 서비스 이름

Connection con = DriverManager.getConnection(url, "berry", "****");

 

 

3.

Statement st = con.createStatement();

쿼리 준비

 

4.

String sql = "SELECT * FROM TABLE_NAME";

ResultSet rs = st.executeQuery(sql);

쿼리 실행하여 결과 반환

한번에 다 돌려주는 게 아님.

결과는 서버에 있고, 클라이언트는 레코드 단위로 하나씩 받는다.

서버는 커서를 가지고 있음.(BOF-EOF)

즉 rs는 결과집합을 이용할 수 있는 것을 말함.

 

5. rs.next();

 

6. String title = rs.getString("title");

 

7. rs.close();

st.close();

con.close();

 

(객체 생성에서 new를 쓰지 않음)

Comments