Programing/JAVA

Java :: 자바 :: JDBC

Dongkkase 2008. 11. 6. 16:16
반응형

JDBC(Java Database Connectivity)
자바에서 Database S/W를 사용하게 해보자.

*DB장점 : 데이타 관리 능력이 탁월.
 많은 데이타 -----> 사람이 원하는 정보(조건) --> 정보 ---------> 이익
 (테이블의 내용)    (쿼리문)             (의사결정)

<───────── Serblet/JSP ────────────>
자바 <───────>웹서버<─────────>클라이언트

│JDBC

DB(ms-sql, mysql, oracle==>표준 SQL문장)


JDBC란?
     자바에서 데이타 베이스관련 프로그램을 할수있는API이다.
    Sun : 데이타베이스 사용관련 Interface만 제공.
              (interface : 추상메소드만 있는 껍데기다.)

    interface : 아래 코드 참조.
       
//Sun회사에서는 
interface Connection{ //DB에 연결할 수 있는 기능
	public void connect();
	public void close();
}
//벤터(MS,Oracle)들이 자기 회사 DB사용할 수 있게 내부적 구현.
//Oracle사 JDBC드라이버(Oracle 사이트에서 다운로드)
class Oracle implements Connection{
	public void connect(){	//오버라이딩.
		//~~~~
		System.out.println("오라클 DB 연결 성공~");
	}
	public void close(){		//오버라이딩.
		//~~~~
		System.out.println("오라클 DB 연결 종료~");
	}
}

//MS사 JDBC드라이버(MS사이트에서 다운로드)
class MS implements Connection{
	public void connect(){	//오버라이딩.
		//~~~~
		System.out.println("MS DB 연결 성공~");
	}
	public void close(){		//오버라이딩.
		//~~~~
		System.out.println("MS DB 연결 종료~");
	}
}

public class JDBCInterface {
	public static void main(String[] args){
		//우리 입장에서는 interface만 보고 프로그래밍 하면 된다.
		Connection con = new Oracle();
		//					      = new MS(oracle을 ms로 바꿔 실행해보세요)
		//Oracle ora = new Oracle();
		//MS ora = new MS();
		con.connect();
		con.close();
		
		aaa(con);
	}
	public static Connection aaa(Connection con){
		return con;
	}
}


    벤터 : interface를 implementes해서 구현함(드라이버)
   
    JDBC의 범위 : interface + 구현한 드라이버.
    JDBC 프로그래밍 : interface 가지고 프로그래밍한다.


[SQL구문을 인자로 넘긴다.]                                          [질의던지면결과를리턴한다.]
응용프로그램                                      Oracle(구현)   <─┘
애플릿         ├─────>  JDBC인터페이스 <────┤MS-SQL(구현) <─>DB
Servlet, JSP                   (정의)                                My-SQL(구현)
[결과]                                                                        (드라이버)
                                      <─────────JDBC─────────>   
<── 개발자가보는영역 ──>


반응형