본문 바로가기
dev

JDBC 개념 및 사용방법

by 공뭉 2020. 8. 2.
반응형

오늘은 JDBC에 대해 알아보겠다.
JDBC는 JAVA로 database에 접근할 수 있도록 해주는 일종의 프로그래밍 api다.
원어 : Java DataBase Connectivity -> 약어 JDBC

JDBC를 사용하기 위해서는 OJDBC를 설치해야한다.
일반적으로 오라클을 설치하면 JDBC 파일이 저장되어있다.
별다른 행위를 하지 않은이상 대부분의 사람들은
C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib
이 경로에 ojdbc6.jar가 있을것이다.


이 ojdbc 파일을 java가 설치되어있는 경로에 넣어준다.
C:\Program Files\Java\jdk1.8.0_202\jre\lib\ext
나 같은 경우엔 이 경로에 ojdbc6.jar를 넣는다.

이제 이클립스를 실행하고 해당되는 프로젝트에 Library를 등록한다.


JRE System Library를 우클릭 -> Properties를 클릭

Installed JREs 클릭.

jre 선택후 Edit 클릭.

Add External JARs클릭.


ojdbc6.jar 파일을 저장한 자바 폴더로 이동해서 클릭해준다.

제대로 추가되었는지 확인 후 finish 후 apply and close를 해준다.

그러면 Package Explorer의 해당프로젝트 JRE System Library에 정상적으로 ojdbc6.jar가 추가된 것이 보인다.

이제 JDBC를 사용할 환경구성을 한것이다.

사용하기전에 JDBC를 사용하기 위한 필수 객체 및 메소드를 알아둬야한다.
DriverManager : JDBC 드라이버를 통해 커넥션을 만드는 역할을 한다.
Class.forName() 메소드를 통해 생성되며, 예외처리를 해줘야한다.
getConnection() 메소드를 사용하여 객체를 생성할 수 있다.
Connection : Connection 객체는 데이터베이스에 연결해 작업을 수행할 수 있도록 해주는 객체다.
SQL문장을 실행시키기 전에 Connection 객체가 있어야한다.
Statement : 데이터베이스 연결을 한 후 실제 SQL문을 수행하기 위해 생성하는 객체다.
PreparedStatement : Statement 객체와 동일하게 실제 SQL문을 수행하기 위해 생성하는 객체다.
SQL문장이 미리 컴파일되고, 실행시간동안 인수값을 위한 공간을 확보할 수 있다는 점이 다르다. 
ResultSet : SELECT문을 사용해서 조회했을 시 ResultSet을 반환한다. cursor를 가지고 특정 행에 대한 참조를 조작한다.

말로만 들으면 무슨말인지 감이 잘 안올 것이다.
JDBC 코딩을 위한 예시를 통해 감을 잡아보자.
1. 우선 DriverManager에 DBMS 드라이버를 등록해야한다.
Class.forName("oracle.jdbc.driver.OracleDriver");
2. 등록한 드라이버를 통해 Connection을 얻어 DBMS에 연결한다.
Connection conn = DriverManager.getConnection(url, uid, pwd);
JDBC형식의 URL과 DBMS계정인 uid, pwd를 입력하여 Connection 객체를 얻는다.
URL은 다음시간에 말하겠지만
jdbc:oracle:thin:{hostname}:{port}:{dbname}의 형식이다.
3. SQL문을 수행하기 위한 Statement 객체를 생성한다.
Statement stmt = conn.createStatement();
4. Statement 메소드를 이용해 SQL을 실행하고 결과를 ResultSet으로 받는다.
String query1 = "SELECT NAME, EMP_NO FROM EMP";
ResultSet rset = stmt.executeQuery(query1);

while(rset.next()){
 System.out.println(rset.getString("NAME") + " " + rset.getString("EMP_NO"));
}
5. 사용한 객체 반환
rset.close();
stmt.close();
conn.close();

위의 5가지 절차를 통해 JDBC를 사용하게 된다.
이번 포스팅은 JDBC 개념 및 객체, 사용절차를 다루었다.
처음 접하면 어려울 수 있어서 순서대로 나누어 설명을 적어보았다.
다음 포스팅때는 JDBC를 활용한 코드 리뷰를 통해
JDBC 사용법을 익혀보도록 하겠다.

반응형

댓글