모든 사람이 JDBC에 익숙하다고 생각합니다. Java 사람이라면 J2EE와 처음 접촉 할 때 그런 일을 배워야합니다. 프로그램이 데이터베이스를 다루어야한다고 누가 말합니까? JDBC는 데이터베이스를 다루는 매우 기본적인 지식이며 기본 수준에 비교적 가깝습니다. 실제 작업에서 사람들은 Hibernate 및 Mybatis와 같은 더 성숙한 프레임 워크를 사용합니다.
그러나 이러한 성숙한 프레임 워크의 기본 JDBC로서 우리는 또한 마스터해야합니다. JDBC의 추가, 삭제, 수정 및 쿼리를 이해함으로써 만 이러한 성숙한 프레임 워크가 향후 최대 절전 모드 또는 mybatis의 소스 코드를 연구하는 데 관심이있을 때 추가, 삭제, 수정 및 쿼리를 구현하는 방법을 더 잘 이해할 수 있습니다.
주제로 돌아가서 개발 환경을 살펴 보겠습니다.
Java Language, Eclipse Development Tools, MySQL 데이터베이스, Navicat 데이터베이스 시각화 도구.
개발 환경의 설치, 구성 및 사용에 대한 정보를 직접 확인하십시오 (매우 간단한). 여기에서는 자세히 설명하지 않습니다.
첫 번째 단계는 데이터베이스를 작성하고 Navicat 데이터베이스 시각화 도구를 사용하여 데이터베이스를 만들고 데이터베이스에 테이블을 작성하고 테이블에 여러 필드를 제공 한 다음 그림과 같이 기능을 테스트 할 수있는 두 가지 데이터를 제공하는 것입니다.
두 번째 단계 는 데이터베이스를 열는 것입니다 (모든 사람 이이 예제를 직접 탭할 수 있기를 바랍니다. 시간이 많이 걸리지 않습니다. JDBC가 데이터베이스를 다루는 방법에 익숙해 지므로 그림에 표시 할 것입니다). 그림과 같이 :
세 번째 단계는 DBUTIL 클래스를 변환하여 DAO 계층에서 데이터베이스 연결 획득을 용이하게하는 것입니다. 코드는 다음과 같습니다.
package com.czgo.db; import java.sql.connection; import java.sql.drivermanager; import java.sql.sqlexception; public class dbutil {private static final string url = "jdbc : mysql : //127.0.1 : 3306/imooc"; 비공개 정적 최종 문자열 uname = "root"; 개인 정적 최종 문자열 pwd = "루트"; 개인 정적 연결 Conn = NULL; static {try {// 1. 드라이버 클래스를로드합니다 .forname ( "com.mysql.jdbc.driver"); // 2. 데이터베이스에 대한 연결을 얻으십시오 Conn = driverManager.getConnection (url, uname, pwd); } catch (classNotFoundException e) {e.printstacktrace (); } catch (sqlexception e) {e.printstacktrace (); }} public static connection getConnection () {return conn; }} 4 단계 : 엔티티 클래스 생성 (위의 그림에 표시된 것처럼 모든 사람은 패키지의 할당을 관찰합니다. 우리는 MVC 아이디어를 사용 하여이 예제를 설계 할 것입니다. MVC에 대한 디자인 아이디어가 있습니다. 직접 배우십시오. 여기에서 많이 말하지는 않습니다) 코드는 다음과 같습니다.
package com.czgo.model; import java.io.serializable;/** * 엔티티 클래스 : 여신 클래스 * * @author alanlee */public class goddess serializable {private static final long serialversionuid = 1L; / *** 고유 한 기본 키*/ 개인 정수 ID; / *** 이름*/ 개인 문자열 이름; / *** 휴대 전화 번호*/ 개인 문자열 mobie; / *** 이메일*/ 개인 문자열 이메일; / *** 홈 주소*/ 개인 문자열 주소; 공개 정수 getId () {return id; } public void setId (정수 ID) {this.id = id; } public String getName () {return name; } public void setName (문자열 이름) {this.name = 이름; } public String getMobie () {return mobie; } public void setMobie (String Mobie) {this.mobie = mobie; } public String getEmail () {반환 이메일; } public void seteMail (문자열 이메일) {this.email = 이메일; } public String getAddress () {return address; } public void setAddress (문자열 주소) {this.address = 주소; }} 5 단계, DAO 계층의 구현 (여기서는 작은 예이므로 실제 작업의 대규모 프로젝트에 대한 쓰기 인터페이스가 없으므로 프로그램 유지 보수 및 확장에 편리합니다). 코드는 다음과 같습니다.
package com.czgo.dao; import java.sql.connection; import java.sql.preparedstatement; import java.sql.resultset; import java.sql.sqlexception; import java.util.arraylist; import java.util.list; import com.czgo.db.dbutil; com.czgo.model.goddess;/** * 데이터 계층 처리 클래스 * * @Author Alanlee */Public Class Goddesdao {/** * Query 모든 여신 * * @return * @throws sqlexception */public list <goddess> query () sqlexception {목록 <Goddess> newdesslist = newdesslist = ArrayList <Goddess> (); // 데이터베이스 연결을 가져옵니다. 연결 연결 Conn = dbutil.getConnection (); StringBuilder sb = new StringBuilder (); sb.append ( "선택 ID, 이름, Mobie, 이메일, 여신의 주소"); // 데이터베이스 연결을 통해 데이터베이스를 작동하여 추가, 삭제, 수정 및 검색 준비 상태 ptmt = conn.preparestatement (sb.tostring ())을 실현합니다. resultet rs = ptmt.executeQuery (); 여신 여신 = null; while (rs.next ()) {Goddess = New Goddess (); 여신 setid (rs.getint ( "id")); 여신 세트 이름 (rs.getstring ( "name")); 여신 세트 모비 (Rs.getstring ( "mobie")); 여신. 세트 메일 (Rs.getString ( "이메일")); 여신 .setAddress (rs.getString ( "주소")); 여신 .setAddress (rs.getString ( "주소")); 여신 명단 .add (여신); } 여신 명단을 반환합니다. } / ** * 단일 여신 쿼리 * * @return * @throws sqlexception * / public goddess querybyid (정수 ID) sqlexception {Goddess g = null; 연결 conn = dbutil.getConnection (); 문자열 sql = "" + "imooc_goddess" + "select * where id =?"; preadstatement ptmt = conn.preparestatement (SQL); ptmt.setint (1, id); resultet rs = ptmt.executeQuery (); while (rs.next ()) {g = 새로운 여신 (); g.setid (rs.getint ( "id")); g.setName (rs.getString ( "name")); g.setmobie (rs.getstring ( "mobie")); G. 세트 메일 (Rs.getString ( "이메일")); g.setAddress (rs.getString ( "주소")); } 반환 g; } / ** * 여신 추가 * * @throws sqlexception * / public void addgoddess (여신) sqlexception 던지기 {// 데이터베이스 연결을 가져옵니다. conn = dbutil.getConnection (); 문자열 sql = "여신에 삽입 (이름, mobie, 이메일, 주소) 값 (?,?,?,?); preadstatement ptmt = conn.preparestatement (SQL); ptmt.setString (1, Goddess.getName ()); ptmt.setString (2, Goddess.getMobie ()); ptmt.setString (3, Goddess.getEmail ()); ptmt.setString (4, Goddess.getAddress ()); ptmt.execute (); } / ** * 여신 정보 수정 * * @throws sqlexception * / public void updateVategoddess (Goddess Goddess)는 sqlexception {connection conn = dbutil.getConnection (); 문자열 sql = "Goddess set name =?, mobie =?, email =?, address =? where id =?"; preadstatement ptmt = conn.preparestatement (SQL); ptmt.setString (1, Goddess.getName ()); ptmt.setString (2, Goddess.getMobie ()); ptmt.setString (3, Goddess.getEmail ()); ptmt.setString (4, Goddess.getAddress ()); ptmt.execute (); } / ** * 여신 삭제 * * @throws sqlexception * / public void deletegoddess (Integer ID) sqlexception {connection conn = dbutil.getConnection (); 문자열 sql = "여신에서 삭제 된 id =?"; preadstatement ptmt = conn.preparestatement (SQL); ptmt.setint (1, id); ptmt.execute (); }} 6 단계 : 제어 계층의 구현 (제어 계층은 여기서 제어 계층과 인터페이스를 모방하고 여기에 데이터를 직접 빌드하는 데 사용됩니다. 인터페이스의 데이터 인 경우 요청을 통해 수신 매개 변수를 전달할 수 있습니다. 실제 상황에 따라 제어 계층의 코드를 변경하고 개선 할 수 있습니다. 여기서 간단한 테스트가 있습니다. 코드는 다음과 같습니다.
package com.czgo.action; import java.sql.sqlexection; import java.util.list; import com.czgo.dao.goddessdao; import com.czgo.model.goddess;/*** 여기에서 직접 데이터를 구축하고 인터페이스의 데이터를 직접 구축하십시오. 마찬가지 * * @author alanlee * */public class 여신 {/** * 추가 된 여신 * * @param 여신 * @throws Exception */public void add (여신) 예외 {Goddessdao dao = New Goddessdao (); 여신 세트 이름 ( "aoi sora"); 여신 세트 모비 ( "52220000"); 여신. 세트 메일 ( "[email protected]"); 여신 .SetAddress ( "베이징 붉은 빛 지구"); dao.addgoddess (여신); } / ** * 쿼리 싱글 여신 * * @param id * @return * @throws sqlexception * / public goddess get (Integer Id) 던지기 sqlexception {Goddessdao dao = New Goddessdao (); 반환 dao.querybyid (id); } / ** * 여신 수정 * * @param 여신 * @throws 예외 * / public void edit (여신) 예외 {Goddessdao dao = 새로운 Goddesdao (); dao.updategoddess (여신); } / ** * 여신 삭제 * * @param id * @throws sqlexception * / public void del (Integer ID) sqlexception {Goddessdao dao = 새로운 Goddessdao (); dao.deletegoddess (id); } / ** * 모든 여신 쿼리 * * @return * @Throws Exception * / public list <goddess> query ()는 예외 {Goddessdao dao = 새로운 Goddessdao (); return dao.query (); } / ** * 성공 여부를 테스트 * * @param args * @throws sqlexception * / public static void main (String [] args)은 sqlexception {Goddessdao Goddesdao = New Goddessdao (); 목록 <soddess> Goddesslist = Goddessdao.query (); for (Goddess Goddess : Goddesslist) {System.out.println (Goddess.getName () + "," + Goddess.getMobie () + "," + Goddess.getEmail ()); }}} 마지막으로, 기본 메소드가 성공적으로 실행되는지 보자.
이러한 방식으로 MySQL 데이터베이스에 대한 간단한 Java JDBC 연결이 완료되어 추가, 삭제, 수정 및 쿼리가 완료됩니다. JDBC 사용을 통합하기 위해 쿼리, 즉 다중 조건 쿼리를 기반으로 고급 쿼리를 시도 할 수 있습니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.