Dieser Artikel beschreibt die Methode der Java anhand der vorbereiteten Schnittstelle und dem Ergebnisergebnissatz. Teilen Sie es für Ihre Referenz wie folgt weiter:
veranschaulichen:
1. Die vorbereitete Schnittstelle erbt Anweisung, und ihre Instanzen enthalten kompilierte SQL -Anweisungen, und die Ausführungsgeschwindigkeit ist schneller als Anweisung.
2. Die vorbereitete Statement erbt alle Funktionen der Erklärung. Die drei Methoden executeUpdate , executeQuery und execute sind keine Parameter mehr erforderlich.
3. In JDBC -Anwendungen wird im Allgemeinen anstelle einer Anweisung vorbereitet.
Machen Sie zuerst eine Verpackung für einen einfachen Betrieb:
Für die Verbindungsdatenbank wurde dbutil.java in früheren Blogs erwähnt.
Kapitulelle der Datenbanktabelle, hier ist der Betrieb der Comp -Tabelle in meiner Datenbank, sodass die Kapselung wie folgt ist:
paket com.mysqltest.jdbc.modelcomp; public class compMember {private int id; privater Zeichenfolge Name; privates int Alter; privates Doppelgehalt; / ** * Konstruktor 1 * @param name * @param ay * @param Gehalt */ public CompMember (String -Name, int älter, doppeltes Gehalt) {super (); this.name = name; this.age = Alter; this.Salary = Gehalt; } / ** * Überlastungskonstruktor * @param id * @param name * @param älter * @param Gehalt * / public compMember (int id, String name, int älter, doppeltes Gehalt) {Super (); this.id = id; this.name = name; this.age = Alter; this.Salary = Gehalt; } / *** GET, SET METHODE* / public int getId () {return id; } public void setId (int id) {this.id = id; } public String getName () {return name; } public void setName (String -Name) {this.name = name; } public int getage () {return ay; } public void setage (int age) {this.age = älter; } public double getSalary () {Rückgabegehalt; } public void setSalary (Doppelgehalt) {this.Salary = Gehalt; } @Override / *** Schreiben Sie das Toststring neu, um die Anzeige besser zu machen }}Verwenden Sie dann die Schnittstelle für die vorbereitete Station, um den inkrementellen Vorgang zu erreichen:
Paket com.mysqltest.jdbc.xiao1; import Java.sql.connection; Import Java.Sql.PreeParedStatement; Import com.mysqltest.jdbc.modelcomp. = neuer dButil (); / ** * Mitglied mit vorbereiteten Statement hinzufügen * @param mem * @return * @throws Exception */ private static int addMember (CompMember mem) löst eine Ausnahme aus {Connection con = dbutil.getCon (); String SQL = "In Comp -Werte einfügen (null,?,?,?)"; PreparedStatement pstmt = con.preparestatement (SQL); pstmt.setstring (1, mem.getName ()); pstmt.setint (2, mem.getage ()); pstmt.setDouble (3, mem.getSalary ()); int result = pstmt.executeUpdate (); // keine Notwendigkeit, SQL in der mittleren dbutil.close (pstmt, con) zu bestehen; // PreparedStatement ist eine Unterklasse, und es ist in Ordnung, sie mit der Elternklasse zu schließen. Rückgabeergebnis; } public static void main (String [] args) löst eine Ausnahme aus {compMember mem = new compMember ("liu xiang", 24, 8000.00); int result = addMember (mem); if (result == 1) {System.out.println ("erfolgreich hinzufügen"); } else {System.out.println ("fehlgeschlagen"); }}}Verwenden Sie dann die Schnittstelle für die vorbereitete Station, um die Abfrage zu implementieren und den Ergebnis -Ergebnis -Set zu verwenden:
Paket com.mysqltest.jdbc.xiao2; import Java.sql.connection; Import Java.SQL.PrepararedStatement; importieren java.sql.resultset; com.mysqltest.jdbc.util.dbutil; öffentliche Klasse resultettest {private static dbutil dbutil = new dbutil (); / ** * Überlösen von Abfragenergebnissen * @throws Exception */ @SuppressWarnings ("unbenutzt") private statische void listMem1 () löst eine Ausnahme aus {Connection con = dbutil.getCon (); // Die Verbindungsstring SQL = "aus Comp" aus -ausgewählt "; PreparedStatement pstmt = con.preparestatement (SQL); ResultSet rs = pstmt.executeQuery (); // return the Ergebnis set // next () Drehen Sie den Cursor in die nächste Zeile, wobei (rs.Next ()) {int id = rs.getint (1); // den Wert des ersten Spalten -ID -String -Namens = Rs.GetString (2); // int aget = rs.Getint (3) erhalten; doppeltes Gehalt = Rs.GetDouble (4); System.out.println ("Nr.:" + Id + "Name:" + Name + "Alter:" + Alter + "Gehalt:" + Gehalt); System.out.println("+========================================================================================= =================================================================ieben =================================================================ieben =================================================================ieben listMem2 () löst eine Ausnahme aus {Connection con = dbutil.getCon (); // Die Verbindungsstring SQL = "SELECT * VON COMP"; rs.getint ("id"); // den Wert des ersten Spalten -ID -String -Namens = Rs.GetString ("Name"); // int age = rs.getInt ("Alter"); System.out.println("+================================================================================================ =======================================================ieben =======================================================ieben ================================================================================ =======================================================ieben =======================================================ieben =======================================================ieben dbutil.getCon (); // Die Verbindungsstring SQL = "Select * aus Comp"; Der erste Spalten -String -Name = Rs.GetString ("Name"); // int age = rs.getInt ("Alter"); listMem1 (); // listMem2 ();Weitere Informationen zu Java-bezogenen Inhalten finden Sie in den Themen dieser Site: "Java+MySQL-Datenbankprogrammierzusammenfassung", "Java-Datenstruktur und Algorithmus-Tutorial", "Java-Datei- und Verzeichnisbetriebsfähigkeitszusammenfassung", "Java Operation DOM-Fertigkeitsfunktionsübersicht" und "Java-Zusammenfassung der Java-Operation" -Betriebskenntnisse "und" Java-Zusammenfassung der Java-Operation "-Betriebskenntnisse" und "Java-Zusammenfassung der Java-Operationen
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.