Dalam pangkalan data MySQL, prosedur tersimpan mempunyai fleksibiliti dan kebolehgunaan semula yang tinggi, dan sering digunakan untuk mengoptimumkan operasi pangkalan data yang kompleks dan meningkatkan prestasi pangkalan data. Program Java selalunya perlu memanggil prosedur tersimpan dalam MySQL Artikel ini akan memperkenalkan pelaksanaan khusus bagaimana Java memanggil prosedur tersimpan dalam MySQL.
1. Buat prosedur tersimpan
Pertama, anda perlu mencipta prosedur tersimpan dalam pangkalan data MySQL. Prosedur tersimpan boleh dibuat melalui baris arahan atau alatan grafik MySQL (seperti Navicat).
Berikut ialah contoh prosedur tersimpan mudah yang boleh mencari semua nama jadual dalam perpustakaan yang ditentukan:
CREATE PROCEDURE `GetAllTableNames`(IN dbName VARCHAR(100)) BEGIN SELECT table_name FROM information_schema.tables WHERE table_schema = dbName; END
2 Java memanggil prosedur tersimpan
Proses bagi memanggil prosedur tersimpan MySQL menggunakan Java sebenarnya memanggil kaedah berkaitan prosedur tersimpan JDBC (Java Database Connectivity) API. Langkah khusus untuk Java memanggil prosedur tersimpan MySQL akan diperkenalkan secara terperinci di bawah.
Atur cara Java perlu menggunakan pakej pemacu MySQL JDBC Anda boleh memuat turun versi yang sepadan bagi pakej pemacu MySQL Connector/J dari laman web rasmi MySQL, dan kemudian Tambahnya pada CLASSPATH projek Java.
Langkah-langkah untuk menggunakan JDBC untuk menyambung ke pangkalan data MySQL di Java adalah sama seperti sambungan pangkalan data biasa Anda perlu memuatkan pemacu pertama dan kemudian dapatkan sambungan pangkalan data.
Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
Langkah teras untuk memanggil prosedur tersimpan dalam Java adalah untuk mencipta objek CallableStatement dan memanggil kaedah pelaksanaan prosedur tersimpan . CallableStatement ialah subkelas PreparedStatement dan digunakan untuk melaksanakan pernyataan dengan parameter input atau parameter output atau kedua-duanya.
Sebelum mencipta objek CallableStatement, anda perlu menyediakan senarai parameter prosedur tersimpan. Sebagai contoh, untuk contoh prosedur tersimpan di atas, anda perlu memasukkan parameter dbName, dan anda boleh mendapatkan objek CallableStatement melalui kod ini:
CallableStatement callableStatement = conn.prepareCall("{call GetAllTableNames(?)}"); callableStatement.setString(1, "test");
Perlu diingat bahawa kaedah setXX() bagi CallableStatement adalah serupa dengan penggunaan PreparedStatement , digunakan untuk menetapkan parameter input prosedur yang disimpan.
Selepas melengkapkan pemindahan parameter dan penyediaan objek CallableStatement, anda boleh memanggil kaedah laksana untuk melaksanakan pernyataan SQL . Untuk prosedur tersimpan, anda boleh memanggil salah satu daripada tiga kaedah: execute(), executeQuery(), atau executeUpdate(), bergantung pada pelaksanaan khusus prosedur tersimpan.
Selepas melaksanakan prosedur tersimpan, set hasil perlu disimpan ke objek ResultSet untuk pemprosesan seterusnya.
ResultSet rs = callableStatement.executeQuery(); while (rs.next()) { System.out.println(rs.getString(1)); }
Kod contoh lengkap Java memanggil prosedur tersimpan MySQL adalah seperti berikut:
Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456"); CallableStatement callableStatement = conn.prepareCall("{call GetAllTableNames(?)}"); callableStatement.setString(1, "test"); ResultSet rs = callableStatement.executeQuery(); while (rs.next()) { System.out.println(rs.getString(1)); } rs.close(); callableStatement.close(); conn.close();
3. Ringkasan
Artikel ini memperkenalkan langkah khusus panggilan Java prosedur tersimpan MySQL , termasuk mencipta prosedur tersimpan, mengimport pakej pemacu MySQL JDBC, mendapatkan sambungan pangkalan data, mencipta objek CallableStatement, dan memanggil kaedah laksana untuk melaksanakan prosedur tersimpan.
Java memanggil prosedur tersimpan MySQL boleh membantu pembangun Java meningkatkan kecekapan dan prestasi operasi pangkalan data Mengikut keperluan khusus, pelaksanaan prosedur tersimpan boleh dilaraskan secara fleksibel untuk mendapatkan hasil yang lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk memanggil prosedur tersimpan MySQL dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!