서문 : JDBC 란 무엇입니까?
JDBC (Java Database Connectivity)는 Java 언어로 사용되는 응용 프로그램 프로그램 인터페이스로 클라이언트 프로그램이 데이터베이스에 액세스하는 방법을 규제하고 데이터베이스의 데이터 쿼리 및 업데이트와 같은 방법을 제공합니다. JDBC는 또한 Sun Microsystems의 상표입니다. 관계형 데이터베이스의 경우 JDBC입니다.
간단히 말해서, JDBC를 통해 SQL 문을 실행하는 데 사용되는 Java API입니다. 캡슐화를 통해 개발자는 순수한 Java API를 사용하여 SQL 실행을 완료 할 수 있습니다.
1. 준비 작업 (I) : MySQL 설치 구성 및 기본 학습
JDBC를 사용하여 데이터베이스를 작동하기 전에 먼저 데이터베이스가 있어야합니다. SQL 언어 (학교에서의 교실 학습 포함)를 사용한 경험이 있다면 독자가 배울 수있는 3 가지 링크는 다음과 같습니다.
MySQL 다운로드, 설치, 배포 및 그래픽 세부 작업 자습서 : //www.vevb.com/article/87690.htm
삽입, 업데이트, 선택, 삭제 등과 같은 기본 작업을 연습하면서 나중에 사용하려는 테이블을 구축하는 동안 입문 자습서 및 연습을 읽는 것이 좋습니다.
다음 수치는 다음 데모에 사용할 데이터베이스의 표입니다.
2. 준비 작업 (2) : 데이터베이스의 해당 JAR 패키지를 다운로드하여 가져옵니다.
JDBC를 사용하려면 프로젝트에서 해당 JAR 패키지를 가져와야합니다. 데이터베이스와 JDBC 패키지 사이의 대응은 다양한 데이터베이스에 해당하는 JAR 패키지, 드라이버 클래스 이름 및 URL 형식을 참조 할 수 있습니다. Eclipse의 가져 오기 방법 :
프로젝트 아이콘을 마우스 오른쪽 버튼으로 클릭하고 "속성"을 선택하고 "Java Bulid Path"에서 "외부 항아리 추가 ..."를 선택한 다음 다운로드 및 압축 압축 후 얻은 JAR 패키지를 선택하십시오.
MySQL에서 작동하는 경우 다음 가져 오기는 오류를보고하지 않습니다.
com.mysql.jdbc.connection import com.mysql.jdbc.preparedStatement;
또한 JDBC 패키지가 필요하고 직접 가져 오기 만하면됩니다.
import java.sql.drivermanager; import java.sql.resultset; import java.sql.sqlexception;
3. JDBC의 기본 작업
단순화하기 위해 데이터베이스와 관련된 작업, 명령 및 매개 변수가 하드 코드화됩니다. 관심있는 독자는이를 탐색하여 데이터와 운영 간의 결합을 줄일 수 있습니다.
먼저 특정 코드와 연습을 살펴 보겠습니다.이 기사의 다섯 번째 부분은 사용 된 API에 대한 간단한 연구를 수행했습니다.
아래의 모든 방법과 데이터 구성원은 공개 클래스 jdbcoperation 내에 있습니다.
(1) 레코드 클래스 정의 (선택 사항)
이것은 주로 작동 및 인터페이스 정의를 용이하게하기 위해 수행되며 필요하지 않습니다.
static class Student { private String Id; private String Name; private String Sex; private String Age; Student(String Name, String Sex, String Age) { this.Id = null; //default this.Name = Name; this.Sex = Sex; this.Age = Age; } public String getId() { return Id; } public void setId(String Id) { this.Id = Id; } public String getName() { return Name; } 공개 setName (string name) {public stex (return sex);(2) 연결 검색
작업 전에 데이터베이스에 대한 연결을 얻어야합니다.
getconn () {string driver = "jdbc : // samp_db"; ETECT (URL, 사용자 이름, 비밀번호)} catch (classNotFoundException e) { e.printstacktrace ()} catch (sqlexception e) {e.printstacktrace ();(3) 삽입
개인 int 삽입 (학생) {int i = 0; ing (2, student.getSex ()); pstmt.executeupdate () pstmt.close ();(4) 업데이트
개인 정적 업데이트 (학생) {int i = 0; System.out.println ( "Resutl :" + i); conn.close (); sqlexception e) {e.printstacktrace ();(5) 선택
예를 들어 XXX에서 선택 *을 선택하십시오.
개인 정수 getall () {getConn () "PSTMT = (PRESSTATEMENT); ============================ "); while (rs.next ()) {for (int i = 1; i <= col; i ++) {rs.getString (i)+"/t"; = 일반(6) 삭제
개인 정적 삭제 (문자열) {getconn () int i = 0; pstmt.close (); e.printstacktrace ()} 반환 i;}4. 테스트
테스트하기 전에 해당 데이터베이스 서비스를 시스템에서 열어야합니다. Windows에서 MySQL의 시작 명령은 NET START MYSQL입니다.
테스트 코드
공개 정적 Args []) {jdbcoperation.insert ( "Achilles", "14"); getAll ();}일식에서 출력
===================================================== 콩 남성 6 3 Petra Fema 9 4 Peter Male 9 5 _graff male 40 6 God FEMA 255 ========================================================= 6 3 Petra Fema 9 4 Peter Male 9 5 _graff male 40 6 God Fema 255 7 Achilles Male 14 ============================================================== 1 ender male 8 2 bean male 7 3 petra fema 9 4 peter male 9 5 _graff 40 6 6 6 2 255 ================================================================== 하여위용 ;용 하여용 ;용 하여용용; 하여용 하여용용용용용용용용용용용용용용용용; 용용용용용용용용 액;; 용용용용용용용용용용용용용용용용용용치 증가용용용용용용용용용용용용용용용용용용용용용위해 : / / / / / / restL으로 ===
V. 코드 분석
위의 위의 데이터베이스 추가, 삭제, 수정 및 검색 프로세스에서는 공통적으로, 즉 일반적인 프로세스를 찾을 수 있습니다.
(1) 연결 객체 및 SQL 쿼리 명령 문자열 생성;
(2) SQL 쿼리 명령을 연결 객체에 전달하고 준비된 상태 개체를 얻습니다.
(3) preadingStatement 오브젝트에서 executeUpdate () 또는 executeQurey ()를 실행하여 결과를 얻습니다.
(4) 준비된 상태와 연결 객체를 차례로 닫습니다.
JDBC를 사용할 때 가장 일반적인 유형의 접촉 유형은 연결 및 준비 상태이며 recesset 클래스는 SELECT입니다.
연결
Java.sql
연결
모든 슈퍼 인터페이스 : 래퍼
-----------------------------------------------------------------------------------------
공개 인터페이스 ConnectionExtends 래퍼
특정 데이터베이스에 연결 (세션). 연결 컨텍스트에서 SQL 문을 실행하고 결과를 반환하십시오.
연결 객체의 데이터베이스는 테이블, 지원되는 SQL 구문, 저장 프로 시저,이 연결 기능 등을 설명하는 정보를 제공 할 수 있습니다. 이 정보는 getmetadata 메소드를 사용하여 얻습니다.
repadyStatemnt
Java.sql
준비된 상태 인터페이스
모든 슈퍼 인터페이스 : 명령문, 래퍼 모두 알려진 하위 인터페이스 : CallableStatement
-----------------------------------------------------------------------------------------
Public Interface RepadeStatementextends 문
사전 컴파일 된 SQL 문을 나타내는 객체.
SQL 문은 준비된 상태 대상에 사전 컴파일되고 저장됩니다. 이 명령문은이 객체를 사용하여 효율적으로 여러 번 실행할 수 있습니다.
일반적인 방법
부울 execute ()
이 준비된 스테이트 객체에서 SQL 문을 실행합니다.이 객체는 모든 종류의 SQL 문일 수 있습니다.
resultSet executeQuery ()
이 준비된 상태 객체에서 SQL 쿼리를 실행하고 쿼리에서 생성 된 resultSet 객체를 반환합니다.
int executeUpdate ()
이 준비된 스테이트 객체에서 SQL 문을 실행합니다.이 삽입, 업데이트 또는 삭제 명령문과 같은 SQL 데이터 조작 언어 (DML) 문 또는 DDL 문과 같은 반환 내용이없는 SQL 문과 같은 SQL 문과 SQL 문을 실행하십시오.
결과 세트
Java.sql
인터페이스 결과 세트
모든 슈퍼 인터페이스 : 래퍼 래퍼 모든 알려진 서브 인터페이스 : 캐시드로 세트, 필터링 로우 세트, JDBCrowset, Joinrowset, Rowset, Syncresolver, Webrowset
-----------------------------------------------------------------------------------------
공개 인터페이스 resulteetextends 래퍼
데이터베이스 결과 세트를 나타내는 데이터 테이블은 일반적으로 데이터베이스를 쿼리하는 문을 실행하여 생성됩니다.
6. 문제에 대해 생각하십시오
1. 각 SQL 작업에는 연결을 설정하고 닫아야합니다.
분석 : 연결 풀링은 매번 연결을 확립하고 닫지 않고 통합 된 연결 유지를 수행하는 데 사용될 수 있습니다. 실제로 이것은 JDBC를 캡슐화하기위한 많은 도구입니다.
2. Java 코드에서 들어오는 데이터의 형식이 데이터베이스 정의와 다른 경우 어떻게해야합니까? 예를 들어, 데이터베이스의 Tinyint 속성에 Java 문자열 객체를 할당하십시오.
분석 : SQL 문을 실행할 때 데이터베이스는 변환을 시도합니다. 내 실험에 따르면, 문자열 객체를 사용하여 순수한 문자로 Tinyint의 연령 속성을 전달하면 0으로 변환됩니다. 특정 변환 규칙은 데이터베이스와 관련이 있어야합니다.
위의 내용은이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다.