คำนำ
ขั้นตอนที่เก็บไว้จะถูกเก็บไว้ในฐานข้อมูลและเรียกอีกครั้งหลังจากการรวบรวมครั้งแรกและไม่จำเป็นต้องรวบรวมอีกครั้ง ผู้ใช้ดำเนินการโดยระบุชื่อของขั้นตอนที่เก็บไว้และการให้พารามิเตอร์ (หากโพรซีเดอร์ที่เก็บไว้มีพารามิเตอร์)
Java เรียกขั้นตอนการจัดเก็บ MySQL ซึ่งต้องการการเชื่อมต่อ JDBC และสภาพแวดล้อม eclipse
ก่อนอื่นให้ตรวจสอบขั้นตอนที่เก็บไว้ของฐานข้อมูลใน MySQL จากนั้นเขียนการโทรรหัส
mysql> แสดงสถานะขั้นตอน;+------+-------------+-----------+----------------+-------------------------+-------------------------------------------+----------+------------------+------------------------------------------------ DB | ชื่อ | ประเภท | definer | แก้ไข | สร้างขึ้น | Security_type | ความคิดเห็น | ตัวละคร _set_client | collation_connection | การเปรียบเทียบฐานข้อมูล |+------+-------------+-----------+----------------+-----------------------------------------------------------------------------------+----------+------------------+-------------------------------------------------------------------------------- หนังสือ | findallbook | ขั้นตอน | root@localhost | 2016-09-04 11:13:31 | 2016-09-04 11:13:31 | definer | - GBK | gbk_chinese_ci | UTF8_GENERAL_CI || หนังสือ | pro_test | ขั้นตอน | root@localhost | 2016-11-13 08:27:17 | 2016-11-13 08:27:17 | definer | - GBK | gbk_chinese_ci | UTF8_GENERAL_CI || หนังสือ | pro_user | ขั้นตอน | root@localhost | 2016-11-13 08:44:34 | 2016-11-13 08:44:34 | definer | - GBK | gbk_chinese_ci | UTF8_GENERAL_CI |+------+-------------+-----------+----------------+---------------------+-------------------------------------------+----------+------------------+---------------------------------------------------- findallbook;+-------------+------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ขั้นตอน | SQL_MODE | สร้างขั้นตอน | ตัวละคร _set_client | collation_connection | การเปรียบเทียบฐานข้อมูล |+-------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- findallbook | NO_ENGINE_SUBSTITUTION | สร้าง definer = `root`@` ขั้นตอน localhost` `findallbook` () เริ่มเลือก * จาก tb_books; สิ้นสุด | GBK | gbk_chinese_ci | UTF8_GENERAL_CI |+-------------+------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1. โครงสร้างไดเรกทอรีโครงการ
2. Book.java
แพ็คเกจ com.scd.book; หนังสือเรียนสาธารณะ {ชื่อสตริงส่วนตัว; // หนังสือชื่อส่วนตัวราคาสองเท่า; // Price Private Int Bookcount; // ปริมาณผู้เขียนสตริงส่วนตัว; // ผู้เขียนสตริงสาธารณะ getName () {//system.out.println(name); ชื่อคืน; } โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } สาธารณะ double getPrice () {ราคาคืน; } โมฆะสาธารณะ setPrice (ราคาสองเท่า) {this.price = ราคา; } public int getBookCount () {return bookcount; } โมฆะสาธารณะ setBookCount (int bookCount) {this.bookCount = BookCount; } Public String getAuthor () {return Author; } โมฆะสาธารณะ setauthor (ผู้เขียนสตริง) {//system.out.println(author); this.author = ผู้แต่ง; -3. findbook.java
แพ็คเกจ com.scd.book; นำเข้า java.sql.Callablestatement; นำเข้า java.sql.connection; นำเข้า java.sql.driverManager; นำเข้า java.sql.resultset; นำเข้า java.sql.sql.sqlexception; การเชื่อมต่อ* @return การเชื่อมต่อวัตถุ*/ การเชื่อมต่อสาธารณะ getConnection () {การเชื่อมต่อ conn = null; // การเชื่อมต่อฐานข้อมูลลอง {class.forName ("com.mysql.jdbc.driver"); // โหลดไดรเวอร์ฐานข้อมูลและลงทะเบียนไปยังตัวจัดการไดรเวอร์/*ที่อยู่ลิงก์ฐานข้อมูล*/rl url = "jdbc: mysql: // localhost: 3306/book? useunicode = true & caracterencoding = utf-8"; String username = "root"; สตริงรหัสผ่าน = "123456"; /*สร้างลิงค์การเชื่อมต่อ*/ conn = driverManager.getConnection (URL, ชื่อผู้ใช้, รหัสผ่าน); } catch (classnotFoundException e) {e.printStackTrace (); } catch (sqlexception e) {// toDo บล็อก catch block ที่สร้างขึ้นอัตโนมัติ E.PrintStackTrace (); } return conn; // ส่งคืนการเชื่อมต่อฐานข้อมูล}/*** ข้อมูลการสืบค้นผ่านขั้นตอนที่เก็บไว้* @return list <book>*/รายการสาธารณะ <book> findall () {list <book> list = new ArrayList <Book> (); // อินสแตนซ์รายการการเชื่อมต่อวัตถุ Object Conn = getConnection (); // สร้างการเชื่อมต่อฐานข้อมูลลอง {// การเรียกขั้นตอนการจัดเก็บ callableStatement cs = conn.prepareCall ("{เรียก findallbook ()}"); resultset rs = cs.executeQuery (); // ดำเนินการค้นหาแบบสอบถามและรับชุดผลลัพธ์ในขณะที่ (rs.next ()) {หนังสือหนังสือ = หนังสือเล่มใหม่ (); // อินสแตนซ์หนังสือ Object Book.setName (Rs.getString ("Name")); // กำหนดชื่อ Attribute Book.setPrice (Rs.getDouble ("ราคา")); // กำหนดหนังสือแอตทริบิวต์ราคา SetBookCount (Rs.getInt ("BookCount")); // กำหนดหนังสือแอตทริบิวต์ BookCount SetAuthor (Rs.GetString ("Author")); // กำหนดรายการแอตทริบิวต์ผู้แต่ง ADD (หนังสือ); }} catch (exception e) {e.printstacktrace (); } return list; // return list}/** * ฟังก์ชั่นหลักการเรียกขั้นตอนการจัดเก็บ (ทดสอบ) * @param args */โมฆะคงที่สาธารณะหลัก (สตริง [] 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 วินาที)
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของ Java ที่เรียกขั้นตอนการจัดเก็บ MySQL ฉันหวังว่าเนื้อหาของบทความนี้จะช่วยในการศึกษาหรือทำงานของทุกคน หากคุณมีคำถามใด ๆ คุณสามารถฝากข้อความไว้เพื่อสื่อสาร