Vorwort
Der gespeicherte Verfahren wird in der Datenbank gespeichert und nach der ersten Zusammenstellung erneut aufgerufen und muss nicht erneut kompiliert werden. Der Benutzer führt dies aus, indem der Name der gespeicherten Prozedur angibt und Parameter angibt (wenn die gespeicherte Prozedur Parameter enthält).
Java ruft MySQL gespeicherte Verfahren auf, für die JDBC -Verbindungs- und Umgebungsfinsternis erfordern ist
Überprüfen Sie zuerst die gespeicherten Prozeduren der Datenbank in MySQL und schreiben Sie dann Code -Anrufe
MySQL> SHOW-Prozedurstatus;+------+-------------+-----------+----------------+-------------------------------------------------+---------------+----------+----------------------+----------------------------------------------+| Db | Name | Typ | Definer | Modifiziert | Erstellt | Security_Type | Kommentar | charakter_set_client | collation_connection | Datenbankkollektion |+------+-------------+-----------+----------------+---------------------------------------------------------------------------------------+----------+------------------+--------------------------------------------+| Buch | findAllbook | Vorgehensweise | root@localhost | 2016-09-04 11:13:31 | 2016-09-04 11:13:31 | Definer | | gbk | gbk_chinese_ci | UTF8_GENERAL_CI || Buch | pro_test | Vorgehensweise | root@localhost | 2016-11-13 08:27:17 | 2016-11-13 08:27:17 | Definer | | gbk | gbk_chinese_ci | UTF8_GENERAL_CI || Buch | pro_user | Vorgehensweise | root@localhost | 2016-11-13 08:44:34 | 2016-11-13 08:44:34 | Definer | | gbk | gbk_chinese_ci | UTF8_GENERAL_CI |+------+-------------+-----------+----------------+---------------------------------------------------------+---------------+----------+------------------------------------------------------------------------------ findAllbook;+--------------+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| Vorgehensweise | SQL_MODE | Verfahren erstellen | charakter_set_client | collation_connection | Datenbankkollektion |+-------------+------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+| findAllbook | No_engine_substitution | Definer = `root`@` localhost` procedure `findAllbook` () starten ausgewählt * aus tb_books; End | gbk | gbk_chinese_ci | UTF8_GENERAL_CI |+-------------+------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------
1. Projektverzeichnisstruktur
2. Buch.Java
Paket com.scd.book; public class Book {privater Zeichenfolge Name; // Buchname privater Doppelpreis; // Preis privat int bookcount; // Quantity Private String Autor; // Autor public String getName () {//system.out.println(Name); Rückgabename; } public void setName (String -Name) {this.name = name; } public double getPrice () {Rückgabepreis; } public void setPrice (Doppelpreis) {this.price = price; } public int getbookCount () {return bookcount; } public void setbookCount (int bookcount) {this.bookCount = bookCount; } public String getAuthor () {return Author; } public void setAuthor (String -Autor) {//system.out.println(author); this.author = Autor; }}3. Findbook.java
Paket com.scd.book; import java.sql.callablestatement; import java.sql.connection; import Java.sql.drivermanager; import Java.sql.resultset; importieren java.sql.sqLexception; importieren java.util.util. @Return Connection Object*/ public Connection getConnection () {Connection conn = null; // Datenbankverbindung try {class.forname ("com.mysql.jdbc.driver"); // laden Sie den Datenbank-Treiber und registrieren Sie ihn in die Driver Manager/*Datenbankverbindungsadresse*/String url = "JDBC: MySQL: // localhost: 3306/book? UseUnicode = true & charakteristischesCoding = utf-8"; String username = "root"; String password = "123456"; /*Verbindungsverbindung erstellen*/ conn = driverManager.getConnection (URL, Benutzername, Passwort); } catch (classNotFoundException e) {e.printstacktrace (); } catch (SQLEXception e) {// Todo automatisch generierter Fangblock e.printstacktrace (); } return conn; // Datenbankverbindung zurückgeben}/*** Daten über gespeicherte Prozeduren abfragen* @Return List <Book>*/publiclist <Book> findall () {list <Book> list = new ArrayList <Book> (); // List -Objektverbindung instanziieren conn = getConnection (); // Datenbankverbindung erstellen Versuchen {// Aufrufen der gespeicherten Prozedur Callablestatement cs = conn.prepareCall ("{call findAllBook ()}"); ResultSet rs = cs.executeQuery (); // Abfragebetriebe ausführen und das Ergebnis set (rs.Next ()) {book book = new Book (); // das Buchobjektbuch in Instanzierung des Buches (Rs.GetString ("Name")); // das Namensattributbuch zuweisen. // das Preisattributbuch zuweisen. // das BookCount -Attributbuch zuweisen. // die Autorattributliste zuweisen.Add (Buch); }} catch (Ausnahme e) {e.printstacktrace (); } Rückgabeliste; // Rückgabeliste}/** * Hauptfunktion Aufrufe gespeicherte Prozedur (getestet) * @param args */public static void main (String [] args) {findbook fb = new findbook (); //System.out.println (fb.findall ()); für (Buchbuch: fb.findall ()) {System.out.print (book.getName () + "-" + book.getPrice () + "-"); System.out.print (book.getbookCount () + "-" + book.getAuthor ()); System.out.println (); }}}4. Klicken Sie mit der rechten Maustaste auf Auslauf als-> Java-Anwendung, Konsolenausgabe
5. Führen Sie SQL -Anweisungen in gespeicherten Prozeduren aus
MySQL> Wählen Sie * aus tb_books;+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 67.42 | 775 | Mr.Cheng |+------------------+-------+-----------+----------+Zeilen in Set (0,00 Sek.)
Zusammenfassen
Das obige ist der gesamte Inhalt von Java, die MySQL -gespeicherte Verfahren nennt. Ich hoffe, dass der Inhalt dieses Artikels für das Studium oder die Arbeit eines jeden hilfreich sein wird. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen.