JAVA

2013년 7월 5일 강의내용(Oracle JDBC연동)

닉넥임 2013. 7. 22. 09:08
반응형

준비사항

1. jdbc라이브러리 파일준비 

- 여기서는 oracle 11g xe 버젼임으로 정규버젼일시는 정규버전의 jdbc를 사용한다.

ojdbc6.jar


2. 프로젝트 생성후 라이브러리를 추가해준다.


3. 예제실행.



Java Oracle_XE JDBC 연동 소스예제

/* 
 * JDBC Connection Test 
 */

import java.sql.Connection; // Connection -> DB 연결
import java.sql.DriverManager; //  JDBC driver 연동
import java.sql.PreparedStatement; // SQL 구문 처리 : Statement보다 빠름 : 미리 처리!
import java.sql.ResultSet; // 검색(select) 한 결과를 담아주는 집합(Record Set : Table) : select 
import java.sql.SQLException; // SQL 전담 처리 예외 클래스

 

public class JavaJDBCTest {
 
// 상수처리 : 은닉성(캡슐화) 
 //private static final String oracleDriver ="oracle.jdbc.driver.OracleDriver";
 private static final String oracleDriver ="oracle.jdbc.OracleDriver";
 private static final String oracleURL="jdbc:oracle:thin:@localhost:1521:xe";
 private static final String oracleId = "hr";
 private static final String oraclePw = "hr";


 public static void main(String[] args) {
   
  // 초기화   
  Connection con = null;
  PreparedStatement pstmt = null;
  ResultSet rs = null;
  
  // SQL 구문 : SQL구문과 키필드(또는 테이블명)과 대소문자 구별
  String sql = "SELECT * FROM employees";
  
  try {
   
       Class.forName(oracleDriver); // JDBC 드라이버를 검색
 
   } catch(ClassNotFoundException ce) {
     System.out.println(ce.getMessage());
     ce.printStackTrace();
  }
  
  try {
  // JDBC 드라이버 연결
   con = DriverManager.getConnection(oracleURL, oracleId, oraclePw);


   // SQL(Statement) 구문을 처리
   pstmt = con.prepareStatement(sql);


   // PreparedStatement
  // pstmt = con.createStatement(); //Statement
   // rs = pstmt.executeQuery(); // PreparedStatement
   rs = pstmt.executeQuery(sql); // Statement

 

   // 다음 레코드를 검색
   while(rs.next()) {

      System.out.println(rs.getString("Email"));
   }

   // 반드시 close ! 
   // -> 시스템 자원(resource : 변수) 반납(반환)
   rs.close();
   pstmt.close();
   con.close();


  } catch(SQLException se) {
   System.out.println(se.getMessage());
   se.printStackTrace();
   
  } catch(Exception e) {
   System.out.println(e.getMessage());
   e.printStackTrace();
  } 
  
 }

}

 



 

 

 

 

 

반응형