이 기사에서는 PreparedStatement 인터페이스 및 resultSet 결과 세트를 사용한 Java 방법에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
설명 :
1. ProadingStatement 인터페이스는 문을 상속 받고 인스턴스에는 컴파일 된 SQL 문이 포함되어 있으며 실행 속도는 문보다 빠릅니다.
2. 준비된 검정은 진술의 모든 기능을 상속합니다. 세 가지 방법은 executeUpdate , executeQuery 및 execute 더 이상 매개 변수가 필요하지 않습니다.
3. JDBC 응용 프로그램에서, 준비된 상태는 일반적으로 명세서 대신 사용됩니다.
쉽게 작동하려면 먼저 포장을하십시오.
연결 데이터베이스의 경우 Close Connection Accapsulation, dbutil.java는 이전 블로그에서 언급되었습니다.
캡슐화 데이터베이스 테이블은 데이터베이스에서 Comp 테이블의 작동이 있으므로 캡슐화는 다음과 같습니다.
package com.mysqltest.jdbc.modelcomp; public class commber {private int id; 개인 문자열 이름; 사적인 int 연령; 개인 이중 급여; / ** * 생성자 1 * @param name * @param age * @param senary */ public ompmember (문자열 이름, int 연령, 이중 급여) {super (); this.name = 이름; this.age = age; this.salary = 급여; } / ** * 과부하 생성자 * @param id * @param name * @param age * @param senary * / public ompmember (int id, 문자열 이름, int 연령, 이중 급여) {super (); this.id = id; this.name = 이름; this.age = age; this.salary = 급여; } / *** get, set method* / public int getId () {return id; } public void setid (int id) {this.id = id; } public String getName () {return name; } public void setName (문자열 이름) {this.name = 이름; } public int getage () {반환 연령; } public void 설정 (int Age) {this.age = age; } public double getSalary () {반환 급여; } public void setSalary (이중 급여) {this.salary = 급여; } @override / *** 디스플레이를 더 나은 디스플레이로 만들기 위해 Tostring을 다시 작성하십시오* / public string toString () {return "["+this.id+"]"+this.name+","+this.age+","+this.salary; }}그런 다음 PreperedStatement 인터페이스를 사용하여 증분 작업을 달성합니다.
패키지 com.mysqltest.jdbc.xiao1; import java.sql.connection; import java.sql.preparedStatement; import com.mysqltest.jdbc.modelcomp.compmember; import com.mysqltest.jdbc.util.dbutil; public propubly propuble proctationt {puciptationt {public classe propuble proctationt {public classe propectementt {public classe dbutil = 새로운 dbutil (); / ** * 준비된 상태를 가진 멤버 추가 * @param mem * @return * @throws 예외 */ private static int addmember (commember mem)는 예외를 던졌습니다 {Connection con = dbutil.getCon (); 문자열 sql = "comp 값에 삽입 (null,?,?,?)"; preadstatement pstmt = con.preparestatement (SQL); pstmt.setString (1, mem.getName ()); pstmt.setint (2, mem.getage ()); pstmt.setDouble (3, mem.getSalary ()); int result = pstmt.executeupdate (); // 중간 dbutil.close (pstmt, con)에서 SQL을 전달할 필요가 없습니다. // 준비된 스테이트는 서브 클래스이며, 상위 클래스와 함께 닫는 것은 괜찮습니다. 반환 결과; } public static void main (string [] args)은 예외를 던졌습니다 {commember mem = new Commember ( "liu xiang", 24, 8000.00); int result = addmember (mem); if (result == 1) {System.out.println ( "성공적으로 추가"); } else {system.out.println ( "추가 실패"); }}}그런 다음 준비된 상태 인터페이스를 사용하여 쿼리를 구현하고 resultSet 결과 세트를 사용하십시오.
package com.mysqltest.jdbc.xiao2; import java.sql.connection; import java.sql.preparedstatement; import java.sql.resultset; import java.util.arraylist; import java.util.list; import com.mysqltest.jdbc.modcomp.modp.comp. com.mysqltest.jdbc.util.dbutil; public class resultStettest {private static dbutil dbutil = new dbutil (); / ** * 쿼리 결과 * @Throws Exception */ @SuppressWarnings ( "UNISS") 개인 정적 무효 LISTMEM1 () 던지기 예외 {Connection con = dbutil.getCon (); // 연결 문자열 sql = "select * from comp"; preadstatement pstmt = con.preparestatement (SQL); resultet rs = pstmt.executeQuery (); // 결과 세트를 반환 // next () 커서를 다음 행으로 켜는 동안 (rs.next ()) {int id = rs.getint (1); // 첫 번째 열 ID 문자열의 값을 얻습니다. 이중 급여 = rs.getDouble (4); System.out.println ( "아니오 :" + id + "이름 :" + name + "age :" + age + "급여 :" + 월급); System.out.println ( "+================================================================================================================ ============================================================================================================================================== ============================================================================================================================================== ============================================================================================================================================== ListMem2 ()는 {Connection con = dbutil.getCon (); // connect statement pstmt = con.preparestatement (sql); rs.getint ( "id"); // 첫 번째 열 ID 문자열 값을 얻습니다. System.out.println ( "+================================================================================================================== ============================================================== ============================================================== ============================================================== ============================================================== ============================================================= ============================================================= dbutil.getCon (); // 연결 문자열 sql = "select * from reposstatement pstmt = con.preparestatement (); 첫 번째 열 ID 이름 = rs.getString ( "이름"); "Age"( "Salary"); listmem1 (); // listmem2 (); commember = listmem3 ();Java 관련 컨텐츠에 대한 자세한 내용은이 사이트의 주제를 확인하십시오 : "Java+MySQL 데이터베이스 프로그래밍 요약", "Java 데이터 구조 및 알고리즘 자습서", "Java 파일 및 디렉토리 운영 기술 요약", "Java Operation Dom Node Skills Summary"및 "Java Cache Operning Skills Summary"
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.