[DB] 오라클(Oracle) 데이터베이스 JDBC(Java Database Connectivity) 07

2013. 2. 25. 17:24Information Technology/Database

이번시간은 JDBC에 대해서 공부해 보도록 하겠습니다.

 

JDBC(Java Database Connectivity)

 

• 1. 정의

–자바를 이용한 데이터베이스 접속과 SQL 문장의 실행, 그리고 실행결과 얻어진 데이터의 handling을 제공하는 방법과 절차에 관한 규약

–자바 프로그램내에서 SQL 문을 실행시키기 위한 자바API

 

• 2. 구성

– 자바로 작성되어진 클래스와 인터페이스

– Package : java.sql, javax.sql

 

• 3. 목적

– Tool / Database 개발자들을 위한 표준 API를 제공하고 pure 자바 API를 이용하여 데이터베이스 application을 작성할 수 있게 함

 

• 4. 기능

–1. 데이터베이스와 연결

–2. SQL문 전송

–3. 결과 처리

 

• JDBC implementataion alternatives

 

 

• TWO-TIER SYSTEM (client-server)

 

 

• MULTI-TIER SYSTEM

 

 

• JDBC에서의 interface들간의 관계

 

 

• JDBC 실행절차 (★중요, 암기★)

 

1. JDBC driver 등록

2. Driver Manager의 getConnection()를 이용해서 Connection 객체 얻어내기

3. Connection 객체의 createStatement()를 이용해서 Statement객체 얻어내기

4. Statement객체의 executeQuery()나 executeUpdate()를 이용해서 SQL을 DB에 전송

5. ResultSet 객체의 getXXX()를 이용 SQL문장의 실행결과 얻기

6. Statement객체와 Connection객체의 close()호출해서 connection 닫기

 

※ resultSet은 select로(쿼리), update는 int로 나옴

 

executeQuery() à select문에 사용

executeUpdate() à select문을 제외한 다른 문에 사용

ResultSet 은 Select문에서 나온 결과를 받을 때 사용 (즉, executeQuery의 결과 값으로 받음)

executeUpdate는 int값으로 받음.

 

• Sample code…

1. Class.forName();

2. Connection con = DriverManager.getConnection();

3. Statement stmt = con.createStatement();

4. ResultSet rs = stmt.executeQuery("select * from ~");

5 .while(rs.next()){

int num = rs.getInt("num");

String name = rs.getString("name");

System.out.println(num+name);}

6. stmt.close(); con.close();