7 단계가 포함 된 JDBC를 사용하여 데이터베이스에 연결하는 프로그램을 만듭니다.
1. JDBC 드라이버로드 :
데이터베이스에 연결하기 전에 먼저 JVM (Java Virtual Machine)에 연결하려는 데이터베이스의 드라이버를 Java.lang.class 클래스의 정적 메소드 ForName (String ClassName)을 통해 구현해야합니다.
예를 들어:
try {// mysql의 드라이버 클래스 클래스 .forname을로드합니다 ( "com.mysql.jdbc.driver"); } catch (classNotFoundException e) {System.out.println ( "드라이버 클래스를 찾을 수없고 운전자로드가 실패했습니다!"); e.printstacktrace (); }성공적인로드 후 드라이버 클래스의 인스턴스가 DriverManager 클래스에 등록됩니다.
2. JDBC 연결에 대한 URL을 제공하십시오
• Connection URL은 데이터베이스에 연결할 때 프로토콜, 하위 프로토콜 및 데이터 소스 식별자를 정의합니다.
• 쓰기 양식 : 프로토콜 : 서브 프로토콜 : 데이터 소스 식별
프로토콜 : JDBC에서 항상 JDBC로 시작하십시오
하위 프로토콜 : 브리지 연결 드라이버 또는 데이터베이스 관리 시스템 이름입니다.
데이터 소스 식별 : 데이터베이스 소스가 발견되는 주소 및 연결 포트 태그.
예 : (MySQL의 연결 URL)
jdbc : mysql :
// localhost : 3306/test? useUnicode = true & characterencoding = gbk;
useUnicode = true :
유니 코드 문자 세트의 사용을 나타냅니다.
문자 코딩이 설정된 경우
GB2312 또는 GBK,이 매개 변수는 true로 설정해야합니다.
캐릭터 엔코딩 = GBK : 문자 인코딩 메소드.
3. 데이터베이스 연결을 만듭니다
• 데이터베이스에 연결하려면 java.sql.drivermanager를 요청하고 데이터베이스 연결을 나타내는 연결 객체를 얻어야합니다.
• DriverManager를 사용하여 getConnectin (문자열 URL, 문자열 사용자 이름, 문자열 암호)
지정된 경로, 데이터베이스 사용자 이름 및 비밀번호를 연결할 데이터베이스에 전달하여 메소드를 얻습니다.
예를 들어:
// 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. 연결 객체를 닫습니다
packing me.clfeng.jdbc; import java.sql.connection; import java.sql.drivermanager; import java.sql.preparedstatement; public class dbhelper {public static final String url = "jdbc : mysql : // localhost : 3306/mybatis"; 공개 정적 최종 문자열 이름 = "com.mysql.jdbc.driver"; 공개 정적 최종 문자열 사용자 이름 = "루트"; 공개 정적 최종 문자열 암호 = "123456"; 공개 연결 Conn = NULL; 공개 준비 상태 = NULL; public dbhelper (string sql) {try {class.forname (name); // 연결 유형을 지정하십시오 Conn = drivermanager.getConnection (url, username, password); // 연결 문을 얻습니다 = conn.preparestatement (sql); // 실행 문을 준비} catch (예외 e) {e.printstacktrace (); }} // 리소스 공개 void close () {try {this.conn.close (); this.statement.close (); } catch (예외 e) {e.printstacktrace (); }}} 테스트 코드 :
package me.clfeng.jdbc; import java.sql.resultset; public class jdbctest {static String sql = null; 정적 dbhelper dbhelper = null; static resultset resultset = null; public static void main (String [] args) {sql = "select * from user"; DBHELPER = NEW DBHELPER (SQL); try {resultSet = dbhelper.statement.executeQuery (); // 문을 실행하여 결과 세트를 가져 오려면 (resultSet.next ()) {int id = resultSet.getInt (1); 문자열 이름 = resultSet.getString (2); int age = resultSet.getInt (3); system.out .println ( "id =" + id + ", name =" + name + ", age =" + age); } resultSet.close (); dbhelper.close (); } catch (예외 e) {e.printstacktrace (); }}}JDBC의 위의 단계와 간단한 구현 코드는 내가 공유하는 모든 컨텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.