مقدمة
يتم تخزين الإجراء المخزن في قاعدة البيانات ويتم استدعاؤه مرة أخرى بعد التجميع الأول ، ولا يلزم تجميعه مرة أخرى. يقوم المستخدم بتنفيذها من خلال تحديد اسم الإجراء المخزن وإعطاء المعلمات (إذا كان الإجراء المخزن له معلمات).
تستدعي Java إجراءات MySQL المخزنة ، والتي تتطلب اتصال JDBC و Exclipse
أولاً ، تحقق من الإجراءات المخزنة لقاعدة البيانات في MySQL ، ثم كتابة مكالمات الرمز
mysql> عرض حالة الإجراء ؛+-------+-------------+-----------+----------------+-------------------+-------------------+---------------+---------------------------------------------------------------------------------------------------------------- DB | الاسم | اكتب | محدد | تعديل | خلقت | Security_type | التعليق | الحرف _set_client | collation_connection | جمع قاعدة البيانات |+------+---------------+-----------+----------------+---------------------+-------------------+---------------+---------+---------------------------------------------------------------------------------------------- كتاب | FindAllbook | الإجراء | الجذر@localhost | 2016-09-04 11:13:31 | 2016-09-04 11:13:31 | محدد | | GBK | GBK_CHINESE_CI | utf8_general_ci || كتاب | Pro_test | الإجراء | الجذر@localhost | 2016-11-13 08:27:17 | 2016-11-13 08:27:17 | محدد | | GBK | GBK_CHINESE_CI | utf8_general_ci || كتاب | Pro_user | الإجراء | الجذر@localhost | 2016-11-13 08:44:34 | 2016-11-13 08:44:34 | محدد | | GBK | GBK_CHINESE_CI | utf8_general_ci |+-------+---------------+-----------+----------------+---------------------+-------------------+-----------------+-------------------------------------------------------------------------------------------------------------------------- FindAllbook ؛+-------------+------------------------+-------------------------------------------------------------------------------------------------------- الإجراء | sql_mode | إنشاء إجراء | الحرف _set_client | collation_connection | قاعدة البيانات |+---------------+----------------------+-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------+| FindAllbook | no_engine_substitution | قم بإنشاء interner = `root`@` localhost` الإجراء `bindallbook` () ابدأ تحديد * من tb_books ؛ end | GBK | GBK_CHINESE_CI | UTF8_GENERAL_CI |+---------------+------------------------+------------------------------------------------------------------------------------------------------
1. هيكل دليل المشروع
2. Book.Java
حزمة com.scd.book ؛ كتاب الفئة العامة {اسم السلسلة الخاصة ؛ // اسم كتاب السعر المزدوج الخاص ؛ // Price Private Int BookCount ؛ // كمية مؤلف السلسلة الخاصة ؛ // uptor public string getName () {//system.out.println(name) ؛ اسم العودة } public void setName (اسم السلسلة) {this.name = name ؛ } public double getPrice () {return price ؛ } public void setPrice (price double) {this.price = price ؛ } public getBookCount () {return bookcount ؛ } public void setBookCount (int bookcount) {this.bookCount = bookCount ؛ } السلسلة العامة getAuthor () {return uptor ؛ } public void setAuthor (string uptor) {//system.out.println(author) ؛ هذا. مؤلف = مؤلف ؛ }}3. findbook.java
package com.scd.book ؛ import java.sql.callablestateMent ؛ import java.sql.connection ؛ import java.sql.drivermanager ؛ import java.sql.resultset ؛ import java.sql.sqlexception ؛ import java.util. regurn connection object*/ public connection getConnection () {connection conn = null ؛ // اتصال قاعدة البيانات حاول {class.forname ("com.mysql.jdbc.driver") ؛ // قم بتحميل برنامج تشغيل قاعدة البيانات وقم بتسجيله على عنوان رابط Driver Manager/**/string url = "jdbc: mysql: // localhost: 3306/book؟ useUnicode = true & directionoding = utf-8" ؛ سلسلة المستخدم = "الجذر" ؛ سلسلة كلمة المرور = "123456" ؛ /*إنشاء رابط اتصال*/ conn = drivermanager.getConnection (url ، اسم المستخدم ، كلمة المرور) ؛ } catch (classNotFoundException e) {E.PrintStackTrace () ؛ } catch (sqlexception e) {// todo acto catch block e.printstacktrace () ؛ } return conn ؛ // Return Database Connection}/*** بيانات الاستعلام من خلال الإجراءات المخزنة* قائمة Return <book>*/قائمة عامة <book> findall () {list <book> list = new ArrayList <Book> () ؛ // instantiate List Object Connection conn = getConnection () ؛ // إنشاء اتصال قاعدة البيانات حاول {// استدعاء الإجراء المخزن callablestatement cs = conn.preparecall ("{call findallbook ()}") ؛ resultset rs = cs.executequery () ؛ // تنفيذ عملية الاستعلام واحصل على مجموعة النتائج بينما (rs.next ()) {book book = new book () ؛ // instantiate the Book Object Book.setName (rs.getString ("name")) ؛ // تعيين اسم سمة book.setPrice (rs.getDouble ("Price")) ؛ // envision the price attribute book.setbookCount (rs.getInt ("bookCount")) ؛ // envision the bookcount attribute book.setauthor (rs.GetString ("uptor")) ؛ // تعيين قائمة سمة المؤلف. add (book) ؛ }} catch (استثناء e) {E.PrintStackTrace () ؛ } قائمة الإرجاع ؛ // قائمة الإرجاع}/** * استدعاء الدالة الرئيسية الإجراء المخزنة (اختبار) * param args */public static void main (string [] args) {findbook fb = new findbook () ؛ //system.out.println (fb.findall ()) ؛ لـ (كتاب كتاب: fb.findall ()) {system.out.print (book.getName () + "-" + book.getPrice () + "-") ؛ System.out.print (book.getBookCount () + "-" + book.getAuthor ()) ؛ system.out.println () ؛ }}}4. انقر بزر الماوس الأيمن فوق تشغيل-> تطبيق Java ، إخراج وحدة التحكم
5. تنفيذ بيانات SQL في الإجراءات المخزنة
MySQL> حدد * من TB_Books ؛+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 67.42 | 775 | Mr.Cheng |+------------------+-------+-----------+----------+صفوف في المجموعة (0.00 ثانية)
لخص
ما سبق هو المحتوى الكامل لجافا الذي يدعو إلى إجراءات MySQL المخزنة. آمل أن يكون محتوى هذه المقالة من بعض المساعدة في دراسة أو عمل الجميع. إذا كان لديك أي أسئلة ، فيمكنك ترك رسالة للتواصل.