Rumah > Artikel > pangkalan data > Bagaimana untuk memanggil prosedur tersimpan MySQL menggunakan Java
Prosedur tersimpan MySQL ialah fungsi yang ditentukan pengguna yang merangkum berbilang pernyataan SQL ke dalam satu unit pelaksanaan yang boleh diulang. Memanggil prosedur tersimpan boleh meningkatkan kecekapan dan keselamatan operasi pangkalan data. Sebagai bahasa pembangunan arus perdana untuk pembangunan aplikasi, Java boleh berinteraksi dengan baik dengan MySQL. Dalam artikel ini, kita akan belajar cara memanggil prosedur tersimpan MySQL menggunakan Java.
Sebelum bermula, kita perlu memastikan dua aspek penyediaan berikut telah selesai.
1.1 pangkalan data MySQL
Pertama, anda perlu memasang dan mengkonfigurasi pangkalan data MySQL. Anda boleh memuat turun pakej pemasangan dari laman web rasmi MySQL dan memasang serta mengkonfigurasinya mengikut dokumentasi rasmi.
1.2 Persekitaran Pembangunan Java
Kedua, anda perlu mempunyai persekitaran pembangunan Java, termasuk JDK dan alatan pembangunan. Terdapat banyak alat pembangunan Java, termasuk Eclipse, IntelliJ IDEA, NetBeans, dll. Artikel ini akan menggunakan Eclipse sebagai contoh untuk demonstrasi.
Artikel ini mengambil prosedur tersimpan MySQL yang ringkas sebagai contoh, yang menerima dua parameter, menambahkannya dan mengembalikan hasilnya.
Mula-mula log masuk ke pangkalan data MySQL dan gunakan pernyataan berikut untuk mencipta prosedur tersimpan bernama add_demo.
CREATE PROCEDURE add_demo (IN a INT, IN b INT, OUT c INT) BEGIN SET c = a + b; END
Selepas menjalankan pernyataan di atas, prosedur tersimpan bernama add_demo dicipta dalam pangkalan data MySQL.
Untuk memanggil prosedur tersimpan MySQL dalam Java, anda biasanya perlu menggunakan objek CallableStatement JDBC.
3.1 Muatkan pemacu JDBC
Di Java, anda perlu memuatkan pemacu MySQL melalui kaedah Class.forName(), kodnya adalah seperti berikut:
Class.forName("com.mysql.jdbc.Driver");
3.2 Sambung ke pangkalan data MySQL
Gunakan kaedah getConnection() DriverManager untuk mencipta objek sambungan pangkalan data Kodnya adalah seperti berikut:
Connection conn = DriverManager.getConnection(url, username, password);
Di mana url ialah rentetan sambungan pangkalan data. , nama pengguna dan kata laluan ialah nama pengguna dan kata laluan untuk menyambung ke pangkalan data.
3.3 Cipta objek CallableStatement
Selepas menyambung ke pangkalan data, anda perlu mencipta objek CallableStatement untuk melaksanakan prosedur tersimpan. Kodnya adalah seperti berikut:
CallableStatement cstmt = conn.prepareCall("{call add_demo(?,?,?)}");
Antaranya, {call add_demo(?,?,?)} ialah sintaks untuk memanggil prosedur tersimpan. Memandangkan prosedur tersimpan mempunyai tiga parameter, tiga tanda soal digunakan untuk mewakili ketiga-tiga parameter ini.
3.4 Tetapkan parameter
Selepas mencipta objek CallableStatement, anda perlu menetapkan nilai parameter prosedur tersimpan. Kodnya adalah seperti berikut:
cstmt.setInt(1, 1); cstmt.setInt(2, 2); cstmt.registerOutParameter(3, Types.INTEGER);
Antaranya, kaedah setInt() digunakan untuk menetapkan dua parameter pertama prosedur tersimpan, dan kaedah registerOutParameter() digunakan untuk mendaftarkan parameter ketiga bagi prosedur tersimpan, yang merupakan parameter output , menunjukkan jenis nilai pulangan hasil pelaksanaan prosedur tersimpan.
3.5 Laksanakan prosedur tersimpan
Selepas menetapkan parameter, anda boleh melaksanakan prosedur tersimpan. Kodnya adalah seperti berikut:
cstmt.execute();
3.6 Mendapatkan hasil pelaksanaan prosedur tersimpan
Selepas melaksanakan prosedur tersimpan, anda perlu mendapatkan hasil pelaksanaan prosedur tersimpan. Kodnya adalah seperti berikut:
int result = cstmt.getInt(3);
kaedah getInt() digunakan untuk mendapatkan nilai parameter output prosedur tersimpan.
Berikut ialah contoh lengkap Java yang menunjukkan cara memanggil prosedur tersimpan MySQL.
import java.sql.*; public class Demo { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "123456"; try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, username, password); CallableStatement cstmt = conn.prepareCall("{call add_demo(?,?,?)}"); cstmt.setInt(1, 1); cstmt.setInt(2, 2); cstmt.registerOutParameter(3, Types.INTEGER); cstmt.execute(); int result = cstmt.getInt(3); System.out.println("Result: " + result); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } } }
Rujukan
Kesimpulan
Java memanggil prosedur tersimpan MySQL ialah kaedah operasi pangkalan data biasa. Ia boleh meningkatkan kecekapan dan keselamatan operasi pangkalan data. Dalam artikel ini, kami mempelajari cara mencipta prosedur tersimpan MySQL dan memanggil prosedur tersimpan MySQL menggunakan Java. Ini penting untuk membangunkan aplikasi Java yang cekap dan boleh dipercayai.
Atas ialah kandungan terperinci Bagaimana untuk memanggil prosedur tersimpan MySQL menggunakan Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!