JDBCTM 가이드:입문 3-DriverManager

3438 단어 JDDBBCCTTM손가락
내용:3-DriverManager 3.1 드라이버 관리자 클래스 는 JDBC 의 관리 층 으로 사용자 와 드라이버 사이 에 작용 한다.사용 가능 한 드라이버 를 추적 하고 데이터베이스 와 해당 드라이버 사이 에 연결 을 만 듭 니 다.또한 DriverManager 클래스 도 드라이버 로그 인 시간 제한 및 로그 인 및 추적 메시지 표시 등 업 무 를 처리 합 니 다.간단 한 프로그램 에 대해 서 는 일반 프로그래머 가 이 중에서 직접 사용 해 야 하 는 유일한 방법 은 DriverManager.getConnection 입 니 다.이름 에서 보 듯 이 이 방법 은 데이터베이스 와 의 연결 을 구축 할 것 이다.JDBC 는 사용자 가 DriverManager 를 호출 하 는 방법 getDriver,getDrivers,registerDriver 및 Driver 를 호출 하 는 방법 connect 를 허용 합 니 다.그러나 대부분 DriverManager 류 관리 에 연결 을 만 드 는 디 테 일이 상책 이다.3.1.1 추적 가능 한 드라이버 드라이버 관리자 클래스 는 드라이버 클래스 를 포함 하고 있 으 며,호출 방법 으로 드라이버 관리자.registerDriver 를 통 해 자신 을 등 록 했 습 니 다.모든 Driver 클래스 는 정적 인 부분 을 포함해 야 합 니 다.이 클래스 의 인 스 턴 스 를 만 들 고 이 인 스 턴 스 를 불 러 올 때 DriverManager 클래스 를 등록 합 니 다.이렇게 하면 사용자 가 정상 적 인 상황 에서 DriverManager.registerDriver 를 직접 호출 하지 않 습 니 다.드라이버 를 불 러 올 때 드라이버 가 자동 으로 호출 합 니 다.Driver 클래스 를 불 러 오고 DriverManager 에 자동 으로 등록 하 는 방법 은 두 가지 가 있 습 니 다.호출 방법 으로 Class.forName 입 니 다.드라이버 클래스 를 명시 적 으로 불 러 옵 니 다.외부 설정 과 무관 하기 때문에 드라이버 를 불 러 오 는 방법 을 추천 합 니 다.다음 코드 는 acme.db.Driver:Class.forName("acme.db.Driver")을 불 러 옵 니 다.acme.db.Driver 를 불 러 올 때 인 스 턴 스 를 만 들 고 이 인 스 턴 스 를 매개 변수 로 하 는 DriverManager.registerDriver 를 호출 하면 DriverManager 드라이버 목록 에 있 으 며 연결 을 만 드 는 데 사용 할 수 있 습 니 다.자바.lang.System 의 속성 jdbc.drivers 에 드라이버 를 추가 합 니 다.이것 은 DriverManager 클래스 에서 불 러 온 드라이버 클래스 의 목록 입 니 다.콜론 으로 구 분 됩 니 다.DriverManager 클래스 를 초기 화 할 때 시스템 속성 jdbc.drivers 를 검색 합 니 다.사용자 가 하나 이상 의 드라이버 를 입력 했다 면 DriverManager 클래스 는 불 러 오 려 고 합 니 다.다음 코드 는 프로그래머 가~/.hotjava/properties 에 세 개의 드라이버 클래스 를 입력 하 는 방법 을 설명 합 니 다.(시작 할 때 HotJava 는 시스템 속성 목록 에 불 러 옵 니 다):jdbc.drivers=foo.bah.driver:wombat.sql.driver:bad.test.ourDriver;DriverManager 방법 에 대한 첫 번 째 호출 은 이 드라이버 클래스 를 자동 으로 불 러 옵 니 다.메모:드라이버 를 불 러 오 는 두 번 째 방법 은 지속 적 인 사전 설정 환경 이 필요 합 니 다.이 점 이 보장 되 지 않 는 다 면,모든 드라이버 를 Class.forName 으로 명시 적 으로 불 러 오 는 것 이 안전 합 니 다.이것 도 특정 드라이버 를 도입 하 는 방법 입 니 다.드라이버 관리자 클래스 가 초기 화 되면 jdbc.drivers 속성 목록 을 검사 하지 않 기 때 문 입 니 다.상기 두 가지 상황 에서 새로 불 러 온 Driver 류 는 모두 DriverManager.registerDriver 류 를 호출 하여 자기 등록 을 해 야 한다.위 에서 말 한 바 와 같이 클래스 를 불 러 올 때 이 과정 을 자동 으로 실행 합 니 다.보안 상의 이유 로 JDBC 경영 진 은 어떤 종류의 로 더 가 어떤 드라이버 를 제공 하 는 지 추적 할 것 이다.이렇게 하면 DriverManager 클래스 가 연결 을 열 때 로 컬 파일 시스템 이나 연결 요청 코드 와 같은 클래스 로 더 가 제공 하 는 드라이버 만 사용 합 니 다.3.1.2 연결 로드 드라이버 클래스 를 만 들 고 DriverManager 클래스 에 등록 하면 데이터베이스 와 연결 할 수 있 습 니 다.DriverManager.getConnection 방법 을 호출 하여 연결 요청 을 할 때 DriverManager 는 모든 드라이버 를 검사 하여 연결 을 만 들 수 있 는 지 확인 합 니 다.주어진 URL 과 연결 할 수 있 는 여러 개의 JDBC 드라이버 가 있 을 수도 있 습 니 다.예 를 들 어 주어진 원 격 데이터베이스 와 연결 할 때 JDBC-ODBC 브리지 드라이버,JDBC 에서 유 니 버 설 네트워크 프로 토 콜 드라이버 나 데이터베이스 업 체 가 제공 하 는 드라이버 를 사용 할 수 있다.이 경우 드라이버 의 순 서 를 테스트 하 는 것 이 중요 합 니 다.드라이버 관리 자 는 주어진 URL 의 드라이버 에 성공 적 으로 연결 할 수 있 는 첫 번 째 드라이버 를 사용 하기 때 문 입 니 다.우선 DriverManager 는 등 록 된 순서대로 모든 드라이버 를 사용 하려 고 합 니 다.(jdbc.drivers 에 열 거 된 드라이버 는 항상 먼저 등 록 됩 니 다.)연결 을 열 려 는 코드 의 원본 과 같 지 않 으 면 코드 가 신뢰 할 수 없 는 드라이버 를 건 너 뜁 니 다.드라이버 마다 드라이버.connect 를 번갈아 호출 하고 사용자 에 게 드라이버 관리자.getConnection 의 URL 을 전달 하여 드라이버 를 테스트 한 다음 에 이 URL 을 알 아 보 는 첫 번 째 드라이버 를 연결 합 니 다.이 방법 은 처음에는 효율 이 높 지 않 은 것 처럼 보이 지만 수 십 개의 드라이버 를 동시에 불 러 올 수 없 기 때문에 연결 할 때마다 실제 몇 가지 프로 세 스 호출 과 문자열 만 비교 해 야 합 니 다.다음 코드 는 일반적인 상황 에서 드라이버(예 를 들 어 JDBC-ODBC 브리지 드라이버)로 연결 을 만 드 는 데 필요 한 모든 절차 의 예제 입 니 다.Class.forName("sun.jdbc.odbc.JdbcOdbc Driver");/드라이버 String url="jdbc:odbc:fred"를 불 러 옵 니 다.DriverManager.getConnection(url, "userID", "passwd");

좋은 웹페이지 즐겨찾기