먼저 JDBC JAR 패키지를 가져와야합니다.
다음으로 코드 :
class.forname (xxx.xx.xx)은 클래스를 반환합니다
class.forname (xxx.xx.xx)의 함수는 JVM이 지정된 클래스를 찾고로드하도록 요구하는 것입니다. 즉, JVM은 클래스의 정적 코드 세그먼트를 실행합니다.
JDBC 연결 데이터베이스
• 7 단계가 포함 된 JDBC를 사용하여 데이터베이스에 연결하는 프로그램을 만듭니다.
1. JDBC 드라이버로드 :
데이터베이스에 연결하기 전에 먼저 JVM (Java Virtual Machine)에 연결하려는 데이터베이스의 드라이버를로드해야합니다.
이것은 java.lang.class 클래스의 정적 메소드 ForName (String ClassName)을 통해 달성됩니다.
예를 들어:
try {// mysql의 드라이버 클래스 클래스 .forname을로드합니다 ( "com.mysql.jdbc.driver"); // 설명 : 클래스 클래스 클래스의 이름 메소드에 대해 //이 메소드를 통해 클래스 이름의 클래스를 메모리 공간에로드합니다./* 클래스 클래스의 ForName 메소드는 다음과 같이 클래스 클래스 클래스의 Forname 메소드를 다음과 같이합니다. incom.mysql.jdbc.driver "가 전달되고, JVM은 Driver Jar 패키지의 com.mysql.jdbc로 이동하여 발신자 클래스 로더를 사용하여 드라이버 클래스를 호출하여 드라이버 클래스 (com.mysql.jdbc inherits의 Driver Class in java.sql) 클래스의 나머지 주연입니다. com.mysql.jdbc.nonregisteringdriver는 java.sql.driver {} java.sql.driver 인터페이스를 상속받는 것을 볼 수 있으므로 공장 모드와 싱글 톤 모드 조합을 사용하여 호출 할 수 있음을 알 수 있습니다. 로드, 예외는 // forname0 (classname, true, classload.getClassLoader (발신자), 발신자)를 반환합니다. // classLoader.getClassLoader (발신자)이 메소드를 호출하는 클래스의 클래스 로더를 사용하여 드라이버 인터페이스에 해당하는 클래스를 호출} */} catch (classNotFoundException e) {System.out.println ( "드라이버 클래스를 찾을 수 없습니다."); e.printstacktrace ();}성공적인로드 후 드라이버 클래스의 인스턴스가 DriverManager 클래스에 등록됩니다. DriverManager.getConnection (URL, 사용자 이름, 비밀번호) 작업은 나중에 논의됩니다.
2. JDBC 연결에 대한 URL을 제공하십시오
Connection URL은 데이터베이스에 연결할 때 프로토콜, 서브 프로토콜 및 데이터 소스 식별자를 정의합니다.
쓰기 형식 : 프로토콜 : 서브 프로토콜 : 데이터 소스 식별
프로토콜 : JDBC에서 항상 JDBC로 시작하십시오
하위 프로토콜 : 브리지 연결 드라이버 또는 데이터베이스 관리 시스템 이름입니다.
데이터 소스 식별 : 데이터베이스 소스가 발견되는 주소 및 연결 포트 태그.
예 : (MySQL의 연결 URL) : jdbc : mysql : // localhost : 3306/test
전체 경로는 jdbc : mysql : // localhost : 3306/test? useUnicode = true & characterencoding = gbk;
UseUnicode = true : 유니 코드 문자 세트를 사용할지 여부를 나타냅니다. 문자 encoding이 GB2312 또는 GBK로 설정된 경우이 매개 변수는 true로 설정해야합니다.
캐릭터 엔코딩 = GBK : 문자 인코딩 메소드.
3. 데이터베이스 연결을 만듭니다
• 데이터베이스에 연결하려면 java.sql.drivermanager에서 요청하고 연결 객체를 가져와야합니다.
이 개체는 데이터베이스에 대한 연결을 나타냅니다.
• DriverManager의 GetConnectin (String URL, String username,
String Password) 메소드는 데이터베이스의 지정된 경로, 데이터베이스 사용자 이름 및 비밀번호를 연결하여 얻을 수 있습니다.
예를 들어:
// MySQL 데이터베이스를 연결하면 사용자 이름과 비밀번호는 루트 문자열 URL = "JDBC : MySQL : // localHost : 3306/test"입니다. 문자열 사용자 이름 = "루트"; 문자열 암호 = "루트"; try {Connection con = drivermanager.getConnection (url, username, password); } catch (sqlexception se) {system.out.println ( "데이터베이스 연결 실패!"); se.printstacktrace (); }4. 진술을 만드십시오
• SQL 문을 실행하려면 java.sql.statement 인스턴스를 얻어야합니다. 명세서 인스턴스는 다음 3 가지 유형으로 나뉩니다.
1. 정적 SQL 문을 실행하십시오. 일반적으로 명령문 인스턴스를 통해 구현됩니다.
2. 동적 SQL 문을 실행하십시오. 일반적으로 준비된 체계 인스턴스를 통해 구현됩니다.
3. 데이터베이스 저장 프로 시저를 실행하십시오. 일반적으로 CallableStatement 인스턴스를 통해 구현됩니다.
특정 구현 방법 :
문자 stmt = con.createstatement (); preadstatement pstmt = con.preparestatement (SQL); CallableStatement CSTMT = Con.prepareCall ( "{Call Demosp (?,?)}");5. SQL 문을 실행하십시오
명령문 인터페이스는 SQL 문을 실행하는 세 가지 방법을 제공합니다 : ExecuteQuery, ExecuteUpdate 및 Execute
1. resultSet executeQuery (String SQLString) : 데이터베이스를 쿼리하고 결과 세트 (resultSet) 객체를 반환하기 위해 SQL 문을 실행합니다.
2. int executeUpdate (String SQLString) : 삽입, 업데이트 또는 삭제 문 및 SQL DDL 문 (테이블 및 드롭 테이블 작성 등)을 실행하는 데 사용됩니다.
3. Execute (SQLString) : 여러 결과 세트, 다중 업데이트 수 또는이 둘의 조합을 반환하는 명령문을 실행하는 데 사용됩니다.
특정 구현 코드 :
resultSet rs = stmt.executeQuery ( "select * from ..."); int rows = stmt.executeUpdate ( "삽입 ..."); 부울 플래그 = stmt.execute (String SQL);
6. 처리 결과
두 가지 상황 :
1. 업데이트 실행은이 작업의 영향을받는 레코드 수를 반환합니다.
2. 쿼리를 실행하여 반환 된 결과는 resultSet 객체입니다.
• resultSet에는 SQL 문의 조건을 충족하는 모든 행이 포함되어 있으며 Get 메소드 세트를 통해이 행의 데이터에 대한 액세스를 제공합니다.
• 결과 세트 (resultset) 객체의 액세스 방법을 사용하여 데이터를 가져옵니다.
while (rs.next ()) {문자열 이름 = rs.getString ( "name"); 문자열 pass = rs.getString (1); //이 방법은 더 효율적입니다}(열은 왼쪽에서 오른쪽으로 번호가 매겨지고 열 1에서 시작합니다)
7. JDBC 객체를 닫습니다
작업이 완료된 후에는 사용 된 모든 JDBC 객체를 닫아 JDBC 리소스를 해제해야합니다. 마감 및 선언 순서는 반대로됩니다.
1. 레코드 세트를 닫으십시오
2. 클로스 진술
3. 연결 객체를 닫습니다
if (rs! = null) {// 레코드 세트를 닫으십시오. {rs.close (); } catch (sqlexception e) {e.printstacktrace (); }} if (stmt! = null) {// 선언을 닫으십시오 {stmt.close (); } catch (sqlexception e) {e.printstacktrace (); }} if (conn! = null) {// 연결 객체를 닫습니다 {conn.close (); } catch (sqlexception e) {e.printstacktrace (); }}위의 것은 편집자가 도입 한 JDBC 데이터베이스 연결 프로세스, 드라이버로드 및 디자인 패턴에 대한 자세한 설명입니다. 모든 사람에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 모든 사람에게 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!