JAVA에서 DB에 접근할 수 있게 해주는 Java Programming API
작성문
// 1단계 : JDBC 객체 참조 변수 선언(java.sql 패키지의 인터페이스) Connection conn = null; Statement stmt = null; ResultSet rs = null; Class.forName("oracle.jdbc.driver.OracleDriver"); // 2. 연결 정보를 담은 Connection을 생성 try catch문 사용 try { String type = "jdbc:oracle:thin:@"; // JDBC 드라이버 종류 String ip = "localhost"; // DB 서버 컴퓨터 IP // localhost == 127.0.0.1(loop back ip) String port = ":1521"; // 1521(기본값) String sid = ":XE"; // DB 이름 String user = "kh"; String pw = "kh1234"; conn = DriverManager.getConnection(type + ip + port + sid, user, pw); // 3. SQL 작성 // ** 자바에서 작성되는 SQL은 마지막에 ;(세미콜론) 안찍음 ** String sql = "SELECT EMP_ID, EMP_NAME, SALARY, HIRE_DATE FROM EMPLOYEE"; // 4. Statement 객체 생성 // -> Connection 객체를 통해서 생성 stmt = conn.createStatement(); // 5. 생성된 Statement 객체에 // sql을 적재하여 실행한 후 // 결과를 반환 받아와서 // rs변수에 저장 rs = stmt.executeQuery(sql); // executeQuery() : SELECT문 수행 메서드 , ResultSet반환 while(rs.next()) { // rs.next() : rs가 참조하는 ResultSet 객체의 // 첫번째 컬럼부터 순서대로 한 행씩 이동하며 //다음 행이 있을경우 true / 없으면 false 반환 // rs.get자료형("컬럼명") String empId = rs.getString("EMP_ID"); // 현재 행의 "EMP_ID" 문자열 컬럼의 값을 얻어옴 String empName = rs.getString("EMP_NAME"); // 현재 행의 "EMP_NAME" 문자열 컬럼의 값을 얻어옴 int salary = rs.getInt("SALARY"); // 현재 행의 "SALARY" 숫자(정수) 컬럼의 값을 얻어옴 Date hireDate = rs.getDate("HIRE_DATE"); // -> java.sql.date // -> java.util.date도 가능하긴 함 // 조회 결과 출력 System.out.printf("사번 : %s / 이름 : %s / 급여 : %d / 입사일 : %s\n", empId, empName, salary, hireDate.toString()); // java.sql.Date의 toString()은 yyyy-mm-dd 형식으로 오버라이딩 되어있음 } }catch(ClassNotFoundException e) { System.out.println("JDBC 드라이버 경로가 잘못 작성됨"); }catch(SQLException e) { // SQLException : DB 관련 최상위 예외(== 데이터베이스에 관련된 모든 예외) e.printStackTrace(); }finally { // 4단계 : 사용한 JDBC 객체 자원 반환( close() ) // resultset, statement, connection 닫기(생성 역순으로 닫는 것을 권장) try { if(rs != null)rs.close(); if(stmt != null)stmt.close(); if(conn != null) conn.close(); }catch(SQLException e) { e.printStackTrace(); } } } }