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

Bagaimana untuk memanggil prosedur tersimpan MySQL menggunakan Java

PHPz
PHPzasal
2023-04-21 14:18:151086semak imbas

Java ialah bahasa pengaturcaraan peringkat tinggi yang digunakan secara meluas dalam pembangunan sistem peringkat perusahaan, manakala MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang digunakan secara meluas dalam sejumlah besar aplikasi peringkat perusahaan. Memanggil prosedur tersimpan dalam MySQL daripada aplikasi Java ialah kaedah operasi pangkalan data biasa. Artikel ini akan memperkenalkan cara menggunakan Java untuk memanggil prosedur tersimpan MySQL.

1. Apakah prosedur tersimpan?

Prosedur tersimpan ialah blok kod terkapsul yang boleh digunakan semula, serupa dengan fungsi. Prosedur tersimpan biasanya terdiri daripada pernyataan SQL dan pernyataan kawalan Dalam MySQL, prosedur tersimpan boleh dibuat melalui kenyataan CREATE PROCEDURE, contohnya:

CREATE PROCEDURE test(IN s1 varchar(10), KELUAR s2 varchar(10))
MULAI
PILIH s1, s2 DARI test_table WHERE s1 = s1;
PILIH s2 KE s2 DARI test_table WHERE s1 = s1;
END;Prosedur tersimpan di atas mentakrifkan prosedur tersimpan bernama ujian, yang mengandungi dua parameter, parameter input s1 dan parameter output s2. Prosedur tersimpan melaksanakan dua penyataan SELECT dan memberikan keputusan kepada s2.

2. Bagaimanakah Java memanggil prosedur tersimpan MySQL?

Menggunakan Java untuk memanggil prosedur tersimpan MySQL memerlukan penggunaan teknologi JDBC (Java Database Connectivity). JDBC ialah kaedah capaian pangkalan data standard yang disediakan dalam platform Java Ia menyediakan komponen untuk mengakses pangkalan data supaya aplikasi Java boleh berkomunikasi dengan pelbagai pangkalan data.

Kod Java berikut menunjukkan cara memanggil prosedur tersimpan di atas menggunakan JDBC:

import java.sql.CallableStatement;

import java.sql.Connection;

import java. sql .DriverManager;
import java.sql.SQLException;

kelas awam CallStoredProc {

}
public static void main(String[] args) {
    String dbURL = "jdbc:mysql://localhost:3306/test_db";
    String username = "username";
    String password = "password";

    try (Connection conn = DriverManager.getConnection(dbURL, username, password)) {
        String sql = "{call test(?, ?)}";
        CallableStatement stmt = conn.prepareCall(sql);
        stmt.setString(1, "s1_value");
        stmt.registerOutParameter(2, java.sql.Types.VARCHAR);
        stmt.execute();
        String s2_value = stmt.getString(2);
        System.out.println("s2_value: " + s2_value);
    } catch (SQLException ex) {
        ex.printStackTrace();
    }
}

Dalam kod di atas, kami mula-mula menggunakan DriverManager Kaedah .getConnection Sambung ke pangkalan data MySQL dan lulus nama pengguna dan kata laluan sebagai parameter. Kami kemudian memanggil kaedah prepareCall pada objek sambung, menghantar nama prosedur tersimpan dan jenis parameter.

Gunakan kaedah stmt.setString untuk menetapkan nilai parameter input, dan daftarkan parameter output dalam kaedah registerOutParamter. Akhir sekali, panggil kaedah stmt.execute untuk melaksanakan prosedur tersimpan.

Selepas melaksanakan prosedur tersimpan, anda boleh menggunakan kaedah stmt.getString untuk mendapatkan nilai parameter output dan mengeluarkannya ke konsol.

3 Kelebihan menggunakan prosedur tersimpan

1. Prosedur tersimpan disusun dan disimpan pada pelayan pangkalan data, menghapuskan kompilasi SQL dan menghuraikan overhed untuk setiap pelaksanaan.

2. Prosedur tersimpan boleh mencapai penggunaan semula kod. Merangkum pernyataan SQL berulang ke dalam prosedur tersimpan boleh mengurangkan lebihan kod dan meningkatkan kebolehselenggaraan kod.

3. Prosedur tersimpan boleh meningkatkan keselamatan data. Prosedur tersimpan boleh melaksanakan kawalan akses dan pengesahan keselamatan pada data, dan boleh melindungi keselamatan data dengan berkesan.

4 Langkah berjaga-jaga untuk menggunakan prosedur tersimpan

1. Prosedur tersimpan hanya sesuai untuk operasi yang perlu dilakukan berulang kali Jika operasi hanya perlu dijalankan sekali, menggunakan prosedur tersimpan mungkin membazirkan sumber.

2. Prosedur tersimpan tidak seharusnya mengendalikan logik yang terlalu kompleks. Logik kompleks boleh dikendalikan dalam kod Java untuk meningkatkan kebolehbacaan dan kebolehselenggaraan kod.

3. Prosedur tersimpan harus mereka bentuk kaedah pemindahan parameter. Lulus parameter dalam prosedur tersimpan hendaklah sesedikit mungkin untuk mengelak daripada menghantar terlalu banyak data untuk mengurangkan penghantaran rangkaian dan overhed pangkalan data.

5. Ringkasan

Artikel ini memperkenalkan cara menggunakan Java untuk memanggil prosedur tersimpan MySQL. Prosedur tersimpan ialah blok kod boleh guna semula yang merangkum pertanyaan SQL dan pernyataan kawalan Menggunakan prosedur tersimpan dalam aplikasi Java boleh meningkatkan prestasi, mencapai penggunaan semula kod dan keselamatan data. Walau bagaimanapun, anda perlu memberi perhatian kepada penggunaan dan langkah berjaga-jaga prosedur tersimpan.

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