1


🏹 ojdbc6.jar


JavaをOracle DBMSに接続するリポジトリ(クラス、コード)
Oracle JDBC Driverの提供
  • ライブラリ登録方法必須!
    Java Project → Properties → Java Build Path → Libraries → Add External JARs...
  • 🏹 JDBCを使用したオブジェクト


  • Connection:DB接続情報を含むオブジェクト
      ◾接続情報:アイデンティティ、パスワード、アドレス、接続方式、DB名

  • Statement:接続オブジェクトを介してDBにSQL文を送信して実行します.
                    結果を返すオブジェクト

  • PreparedStatement:買収ごとに?(位置holder)を使用してSQL構文を定義します.
                                 位置holderが埋め込まれた後、個別のSQL転送方法が実行されます.
                                 DBに転送して結果を返すオブジェクト
    🌼 ? : SQLのテキストの一部を動的に作成できます.
        SELECT * FROM STUDENT WHERE STD_NAME = ?

  • ResultSet:SELECTクエリが成功したときに返される結果を格納するオブジェクト
                   カーソルを使用して行ごとにアクセス

  • DriverManager:JDBCドライバを使用してコネクタのオブジェクトを作成する
    呑は例外処理をしなければなりません!Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@127.0.0.1:1521:xe", "kh", "kh");
  •         ☩、67914、:JDBCドライバタイプ→やせ
            ☩・𐥊・:私のパソコンのアドレス
            {0}、{0}および:ポート番号(Oracle DBMSインストール時のデフォルトポート)
            Expressバージョンの略語、DB名

    🚩 ソースコード

    package edu.kh.jdbc.run;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class JDBCBasic {
    	public static void main(String[] args) {
    		// 1. JDBC 객체 참조 변수 선언
    		Connection conn = null;
    		Statement stmt = null;
    		ResultSet rs = null;
    		
    		try {
    			// 2. Connection 객체 얻어오기
    			
    			// 2-1) Oracle JDBC Driver 메모리에 로드하기
    			Class.forName("oracle.jdbc.driver.OracleDriver");
    			
    			// 2-2) DriverManager 객체를 이용하여 Connection 객체 얻어오기
    			conn = DriverManager.getConnection
    					("jdbc:oracle:thin:@127.0.0.1:1521:xe", "kh", "kh");
    						
    			// 3. DB에 전달할 SQL 구문을 작성
    			String sql = "SELECT EMP_NAME, SALARY, DEPT_CODE FROM EMPLOYEE";
    			
    			// 4. SQL을 전달하여 수행하고, 결과를 반환 받을 객체 Statement를 생성
    			stmt = conn.createStatement();
    			
    			// 5. Statement 객체에 SQL을 담아 DB에서 수행하고
    			//    결과를 받아와 ResultSet rs 변수에 저장
    			rs = stmt.executeQuery(sql);
    			
    			// 6. 조회 결과가 있을 경우 커서를 이용해 행을 순서대로 접근
    			while (rs.next()) {
    				// rs.next() : 커서를 이용해 행을 순서대로 접근
    				
    				// 7. rs.get[Type]("컬럼명") 메서드를 이용해 컬럼 값 가져오기
    				//    [Type]은 컬럼 값의 Java 버전 자료형 (SQL 자료형 X)
    				String empName = rs.getString("EMP_NAME");
    				int salary = rs.getInt("SALARY");
    				String deptCode = rs.getString("DEPT_CODE");
    				
    				System.out.printf("이름 : %s / 급여 : %d / 부서코드 : %s \n", empName, salary, deptCode);
    			}
    			
    		} catch (Exception e) {
    			e.printStackTrace();
    			// printStackTrace() : 발생한 예외, 예외 경로를 모두 출력
    			
    		} finally {
    			// 8. 사용한 JDBC 객체 자원 반환
    			
    			// 8-1) 사용한 객체의 역순으로 close() 수행
    			// 8-2) close() 전 null 여부 검사 수행
    			
    			try {
    				if (rs != null) rs.close();
    				if (stmt != null) stmt.close();
    				if (conn != null) conn.close();
    				
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    }