JDBC API를 사용하면 사용자가 모든 형태의 테이블 데이터, 특히 관계 데이터베이스에 저장된 데이터에 액세스 할 수 있습니다.
실행 프로세스 :
• 데이터베이스와 같은 데이터 소스를 연결합니다.
• 데이터베이스 통과 문의 및 업데이트 지침.
• 데이터베이스 응답 및 반환 결과.
JDBC 아키텍처
이중 층 아키텍처와 3 층 아키텍처로 나뉩니다.
이중 층
기능 :이 아키텍처에서 Java 애플릿 또는 앱은 데이터 소스에 직접 액세스합니다.
조건 : 운전자는 액세스 가능한 데이터베이스와 상호 작용해야합니다.
메커니즘 : 사용자 명령은 데이터베이스 또는 기타 데이터 소스로 전달되며 결과가 반환됩니다.
배포 : 데이터 소스는 C/S 구성 (내부 네트워크 또는 인터넷 일 수 있음)이라고하는 다른 컴퓨터의 네트워크를 통해 연결할 수 있습니다.
세 층
사이드 아키텍처의 특별한 특징은 중간 서비스가 도입된다는 것입니다.
프로세스 : 명령 및 구조 가이 레이어를 통과합니다.
어트랙션 : 회사 데이터의 액세스 제어와 다양한 유형의 업데이트를 증가시킬 수 있습니다.
역사적 추세 : 과거에는 성능 문제로 인해 중간 계층은 최적화 컴파일러 (Java Bytecode를 고효율 특정 기계 코드로 변환)로 작성되었습니다. Java는 중간에 사용되기 시작했습니다. 층의 개발은 Java를 서버 코드 언어로 사용하는 Java의 이점을 얻었습니다.
JDBC 프로그래밍 단계
드라이버로드 :
class.forname (driverclass) // mysql driver class.forname ( "com.mysql.jdbc. driver") //로드 Oracle Drive class.forname ( "oracle.jdbc.oracledriver"cure
데이터베이스 연결 가져 오기 :
다음과 같이 코드 코드를 복사하십시오.
DriverManager.getConnection ( "jdbc : mysql : //127.0.0.1 : 3306/imooc", "root", "root");
명령문/proadeStatement 객체 작성 :
다음과 같이 코드 코드를 복사하십시오.
conn.createstatement ();
const.preparestatement (SQL);
완전한 인스턴스
Java.sql.connection; import java.sql.resultset; "; public static final string user ="liulx "; public static final string password ="123456 "; public static void main (String [] args)은 예외 { / / / / 1. driver class.forname ("com을로드합니다. .mysql .jdbc.driver "); // 2. 데이터베이스 연결 연결 연결 연결 연결 Conn = drivermanager.getConnection (url, user, password); // 3. 추가, 삭제를 달성하려면 데이터베이스를 작동하고 conn을 확인하십시오. .CreatesTatemet (); rs = stmt.executeQuery ( "inerse_name, imoc_goddess의 나이"); .println (rs.getStringstring ( "user_name")+"age :"+rs.getint ( "age");}}}
추가, 삭제 및 변화
public class dbutil {public static final string url = "jdbc : // localhost : atic final string password ="123456 "; driver class.forname ( "com.mysql.jdbc.driver"); // 2. 데이터베이스 연결 Conn = drivermanager.getConnection (url, user, password); ();} catch (sqlexception e) {e.printstacktrace ()} public static connection () conn;}} // import java.util; 정수 ID; Getter Setter 방법. 본질 본질 } // ------------------- 패키지 liulx.dao; import liulx.db.dbutil; import liulx.model.goddess; import java. SQL.connection; addgoddess (Goddess G)는 sqlexception {// connect connect connect conn = dbutil.getConnection (); " +"value ( " +"?,?,?,?,?,?,?,? SQL 실행 감소 // ptmt.setstring (1, g.getuser_name ()); ptmt.setdate (4, gettime ()); ); = dbutil.getConnection (); 각 행은 빈 SQL = "IMOC_GODESS 업데이트" + "ER_NAME =?, sex =?, age =?, 이메일 =, mobile =? +"update_user =?, update_date (), isdel =?"+"id =?"; .getUser_name (); (8, g.getisdel ()); ) // SQL은 SQL을 줄이기 위해 SQL을 추가합니다. 공개 목록 <query ()는 {connection = dbutil.getConnection (); ); .add (g);} 공개 여신 get () {Goddess g get continuce continuity where id =? conn.preparestatement (SQL); .SetId (rs.getInt ( "id"); g.setuser_name (rs.getString ( "user_name"); G.setage (rs.getint ( "age")); seetsex (rs.getint ( "sex"); g.setbirthday (rs.getDate ( "생일"); G. 세트 메일 (rs.getString ( "이메일"); G.setMobile (rs. getString ( "mobile"); g.setcreate_date (rs.getDate ( "create_date") ); g.setcreate_user (rs.getstring ( "create_user"); pdate_date "); g.setupdate_user (rs.getString ("update_user "); g.setisdel ("isdel ");} return g; }}