l. 데이터베이스에 연결하는 방법: 1) ODBC(개방형 데이터베이스 연결)
SQL 기반 데이터베이스 엔진에 접근하기 위한 C 언어 기반의 인터페이스로 데이터베이스와의 통신 및 데이터 접근을 위한 일관된 인터페이스를 제공합니다.
2) JDBC
ODBC의 Java 버전
2. JDBC 애플리케이션 프로그래밍 인터페이스 답변: JDBC 애플리케이션 프로그래밍 인터페이스는 다음과 같습니다.
1) 다양한 데이터베이스에 연결할 수 있는 표준 데이터 액세스 인터페이스
2) JAVA 프로그래밍 언어의 클래스 및 인터페이스 세트입니다.
JDBC 애플리케이션 프로그래밍 인터페이스는 다음을 수행할 수 있습니다.
1) 데이터베이스에 연결합니다.
2) SQL 쿼리 문자열을 데이터베이스로 보냅니다.
3) 결과를 처리합니다.
JDBC 애플리케이션 프로그래밍 인터페이스는 두 가지 주요 부분으로 구성됩니다.
1) JAVA 애플리케이션 개발 인터페이스는 JAVA 애플리케이션 개발자를 위한 것입니다.
2) JDBC 드라이버 개발 인터페이스
3. JDBC 드라이버
답변: 1) JDBC 클래스와 인터페이스를 구현하는 클래스가 많습니다.
2) java.sql.Driver 인터페이스를 구현하는 클래스를 제공합니다.
4. 네 가지 유형의 JDBC 드라이버 답변: 1) JDBC-ODBC 브리지
ODBC 드라이버가 제공하는 JDBC 액세스
2) 로컬 API
일부 Java 드라이버는 JDBC 호출을 로컬 클라이언트 API로 변환합니다.
3) JDBC-net
JDBC 호출을 DBMS로 전송하며 네트워크 프로토콜과 관련이 없는 순수 Java 드라이버입니다. 그런 다음 호출은 서버를 통해 DBMS 프로토콜로 변환됩니다.
4) 로컬 프로토콜
순수 Java 드라이버는 JDBC 호출을 DBMS에서 사용하는 네트워크 프로토콜로 직접 변환합니다
. 5. JDBC 개발자 인터페이스 답변: 1) java.sql - Java 2 플랫폼, 표준 버전(J2SE)에서 JDBC의 주요 기능
2) javax.sql--J2EE(Java 2 플랫폼, Enterprise Edition)의 JDBC 향상된 기능
6. URL을 사용하여 데이터베이스 확인 답: URL을 사용하여 데이터베이스를 확인합니다(올바른 드라이버, 올바른 호스트, 올바른 프로토콜, 올바른 프로토콜) , 정확한 사용자 이름과 비밀번호);
구문: 프로토콜:하위 프로토콜:하위 이름
예: jdbc:db2:MyTest
jdbc:db2://localhost:6789/MyTest
7. javax.sql 패키지 JDBC2.0의 향상된 기능 답변: 1) 데이터 소스 인터페이스;
2) 연결 풀;
3) 분산 거래;
4) 행 집합
8. 기본 JDBC 응용 프로그램 만들기 답: 1) 1단계: 드라이버를 등록합니다.
2) 2단계: 데이터베이스에 대한 연결을 설정합니다.
3) 3단계: 성명서를 작성합니다.
4) 4단계: SQL 문을 실행합니다.
5) 5단계: 결과를 처리합니다.
6) 6단계: JDBC 객체 닫기
9. 드라이버 등록(1단계)
답변: 1) 드라이버는 데이터베이스에 연결하는 데 사용됩니다.
2) JDBC 애플리케이션 프로그래밍 인터페이스는 주어진 URL에 성공적으로 연결할 수 있는 첫 번째 드라이버를 사용합니다.
3) 여러 드라이버를 동시에 로드할 수 있습니다
. 10. 드라이버 등록 방법:
답변: 1) 클래스 로더를 사용하십시오(로딩, 인스턴스화, DriverManager에 등록).
a.Class.forName("Com.ibm.db2.jdbc.app.DB2Driver");
b.Class.forName("Com.ibm.db2.jdbc.net.DB2Driver");
c.Class.forName("Com.microsoft.jdbc.sqlServer.SQLServerDriver);
d.Class.forName("oracl.jdbc.driver.OracleDriver");
e.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
2) 드라이버 인스턴스화
a. 드라이버 drv = new COM.cloudscape.core.RmiJdbcDriver()
1. 데이터베이스에 대한 연결 설정(2단계)
답변: DriverManager가 getConnection(urlString) 메서드를 호출하면 실제로 드라이버의 connect(urlString) 메서드를 호출합니다.
1) 드라이버가 데이터베이스 URL과 확실히 일치하면 DriverManager가 연결을 설정합니다.
2) 일치하는 드라이버가 없으면 null이 반환되고 다음 드라이버가 확인됩니다.
3) 연결이 설정되지 않으면 SQLExcepiton 예외가 발생합니다.
2. 일반적으로 사용되는 JDBC URL 중 일부
답: 1) JDBC-ODBC: jdbc:odbc:<DB>
2) 오라클: jdbc:oracle:oci:@<sid> 또는 jdbc:oracle:thin:@<SID>
3) 웹로직 MS-SQL: jdbc:weblogic:mssqlserver4:<DB>@<HOST>:<PORT>
4) DB2: jdbc:db2:MyTest 또는 jdbc.db2://localhost:6789/MyTest(사용자 이름 및 비밀번호 필요)
3. 드라이버 연결 방법 답변: 1) 지정된 드라이버 인스턴스에 대한 직접 호출을 생성합니다.
2) 일반적인 접근 문제 방지
드라이버 drv = new COM.ibm.db2.jdbc.app.DB2Driver();
연결 콘 = null;
{con = drv.connect("jdbc:db2:MyTest",new Properties())}를 시도해 보십시오.
catch(SQLException e){}
4. 명령문 생성(3단계)
답변: 1) 명령문의 세 가지 인터페이스:
가. 진술서
b.PreparedStatement(Statement에서 상속됨)
c.CallableStatement(PreparedStatement에서 상속됨)
2) Connection.createStatement() 메소드를 사용하여 State 개체를 가져옵니다
. 5. ReadyStatement 개체 답변: 1) ProparedStatement를 호출하는 것이 문보다 효율적입니다.
2) 진술에서 상속됨;
3) 구문:PreparedStatement pstm = Connection.prepareStatement(sqlString);
6. CallableStatement 개체 응답: 1) CallableStatement를 통해 데이터베이스의 저장 프로시저를 호출합니다.
2)PreparedStatement에서 상속됨
3) CallableStatement cstm = Connection.prepareCall("{call return_student[?,?]}");
cstm.setString(1,"8623034");
cstm.registerOutparameter(2, Types.REAL);
cstm.execute();
float gpa = cstm.getFloat(2);
7. 명령문 인터페이스 비교: 명령문 |
------------------------------------- ---------------
코드 위치 클라이언트 |
------------------------------------- ---------------
코드 위치 작성 서버측 |
------------------------------------- ---------------
코딩 기술 | Java, SQL 작업 | PL/SQL과 같은 데이터베이스 프로그래밍 언어 |
------------------------------------- ---------------
구성 가능성 | 높음 | 처음에는 높음, 이후 낮음 |
------------------------------------- ---------------
이식성 | 높음 |PreparedStatement가 지원된다고 가정
------------------------------------- ---------------
전송 효율 | 낮음 | 처음에는 낮음, 이후에는 높음 |