Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk memanggil prosedur tersimpan MySQL menggunakan Java

Bagaimana untuk memanggil prosedur tersimpan MySQL menggunakan Java

PHPz
PHPzasal
2023-04-17 16:37:491008semak imbas

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.

  1. Persediaan

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.

  1. Buat prosedur tersimpan MySQL

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.

  1. Java memanggil prosedur tersimpan 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.

  1. Kod sampel penuh

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

  1. [MySQL](https://www.mysql.com/).
  2. [JDBC](https://docs.oracle.com/javase/tutorial/jdbc/basics/index.html).

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn