22.05.10

오혜원·2022년 5월 10일
0

java

목록 보기
18/18

JDBC

: Java DataBase Connect
: DBMS(oracle, mysql)의 driver 필요
→ DBMS 제작사(oracle)가 자신들의 DB에 접속하는 모듈을 제공한 것
: oracle의 자바 프로그램용 접속 모듈 위치
→ C:\app\user_name\product\21c\dbhomeXE\jdbc\lib
→ ojdbc8.jar : oracle java database connect driver
→ eclipse에 추가

JDBC Coding
: 오라클 접속 프로그램(driver) 실행 - ojdbc8.jar 메모리 로딩
: DBMS 접속(통신) - ip address(위치), ip port(수신인), id, pw
: SQL 전송
→ ※ 주의! 이 때 ; 삽입 X
: SQL 수행 결과 확인
: 접속 종료(close())

package ch17;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBC1Overview {
	public static void main(String[] args) 
    			throws ClassNotFoundException, SQLException {
		// oracle driver 로딩 (ojdbc8.jar)
		Class.forName("oracle.jdbc.driver.OracleDriver");
		
		// DBMS 접속(통신)
		String id = "c##scott";
		String pw = "tiger";
		// url : ip address + ip port, DBMS 제조사마다 다름
		String url = "jdbc:oracle:thin:@localhost:1521:xe";	
		Connection con = DriverManager.getConnection(url, id, pw);
		
		// SQL 전송, String sql에 ; 삽입 X
		String sql = "SELECT * from EMP";
		Statement stmt = con.createStatement();
				
		// SQL 수행 결과 확인
		ResultSet res = stmt.executeQuery(sql);		// Iterator와 동작 방식 유사
		System.out.println("EMPNO\tENAME\tJOB\tMGR\tHIREDATE\tSAL\tcomm\tDEPTNO");
		while(res.next()) {
			System.out.print(res.getInt("EMPNO") + "\t");
			System.out.print(res.getString("ENAME") + "\t");
			System.out.print(res.getString("JOB") + "\t");
			System.out.print(res.getInt("MGR") + "\t");
			System.out.print(res.getString("HIREDATE") + "\t");
			System.out.print(res.getInt("SAL") + "\t");
			System.out.print(res.getInt("comm") + "\t");
			System.out.println(res.getInt("DEPTNO"));
		}
		
		// 접속 종료
		res.close();
		stmt.close();
		con.close();
	}
}

출력 결과

0개의 댓글