Rumah > pangkalan data > tutorial mysql > java mysql stored procedure memanggil prosedur tersimpan

java mysql stored procedure memanggil prosedur tersimpan

WBOY
Lepaskan: 2023-05-23 11:24:08
asal
961 orang telah melayarinya

Dengan pembangunan aplikasi peringkat perusahaan, bahasa pengaturcaraan dan sistem pangkalan data seperti Java dan MySQL telah digunakan secara meluas untuk menyokong pembangunan aplikasi perusahaan. Prosedur tersimpan MySQL ialah skrip kod SQL yang telah disusun sebelumnya yang boleh melaksanakan berbilang pernyataan SQL dalam pangkalan data MySQL. Sebagai bahasa pengaturcaraan berorientasikan objek, kelebihan Java ialah pembangun boleh menggunakan kaedah berorientasikan objek untuk mengurus dan mengekalkan kod.

Artikel ini akan memperkenalkan cara Java memanggil prosedur tersimpan MySQL, dan juga memperkenalkan senario aplikasi praktikal prosedur tersimpan.

1. MySQL stored procedure

MySQL stored procedure ialah himpunan siri pernyataan SQL yang disimpan dalam pangkalan data MySQL ini dipanggil melalui nama dan boleh membawa parameter. Prosedur tersimpan secara berkesan boleh menyelesaikan masalah berbilang pelanggan yang menyambung ke pangkalan data MySQL untuk melaksanakan pernyataan SQL yang sama, kerana ia boleh digunakan semula oleh berbilang sambungan, meningkatkan kecekapan pelaksanaan SQL.

Prosedur tersimpan MySQL boleh ditakrifkan menggunakan pernyataan, contohnya:

CREATE PROCEDURE p_GetMovieRecords (OUT p_count INT)
BEGIN
SELECT COUNT(*) INTO p_count FROM movies;
END;
Salin selepas log masuk

Prosedur tersimpan di atas dinamakan p_GetMovieRecords, yang mempunyai parameter output p_count Selepas pelaksanaan, bilangan rekod dalam filem jadual akan disoal, dan Kuantiti diberikan kepada parameter output p_count.

2. Java memanggil prosedur tersimpan MySQL

Java boleh menyambung ke pangkalan data MySQL melalui JDBC, dan kemudian menggunakan objek PreparedStatement dan CallableStatement yang diwarisi daripada Statement untuk memanggil prosedur tersimpan MySQL.

  1. Gunakan PreparedStatement untuk memanggil prosedur tersimpan MySQL

PreparedStatement mewarisi daripada Statement dan boleh dipra-disusun apabila melaksanakan pernyataan SQL, mengelakkan keperluan untuk menyusun semula setiap kali SQL kenyataan dilaksanakan. Walau bagaimanapun, untuk panggilan prosedur tersimpan MySQL, objek CallableStatement yang telah disusun terlebih dahulu diperlukan.

Mula-mula anda perlu mendapatkan sambungan pangkalan data MySQL:

// 加载MYSQL JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 连接MYSQL数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test");
Salin selepas log masuk

Selepas mendapatkan sambungan, anda perlu menggunakan objek CallableStatement untuk menyusun semula panggilan prosedur yang disimpan:

// 定义MySQL存储过程名称及参数
String sql = "{call p_GetMovieRecords(?)}";
// 创建CallableStatement对象调用存储过程
CallableStatement call = conn.prepareCall(sql);
// 注册输出参数
call.registerOutParameter(1, Types.INTEGER);
// 执行存储过程
call.execute();
// 获取输出参数值
int count = call.getInt(1);
Salin selepas log masuk
Salin selepas log masuk
  1. Gunakan CallableStatement untuk memanggil Prosedur storan MySQL

CallableStatement juga boleh menyusun semula pernyataan SQL, tetapi ia digunakan secara khusus untuk memanggil prosedur tersimpan. Perbezaan daripada PreparedStatement ialah objek CallableStatement menggunakan sintaks panggilan prosedur tersimpan, seperti:

// 定义MySQL存储过程名称及参数
String sql = "{call p_GetMovieRecords(?)}";
// 创建CallableStatement对象调用存储过程
CallableStatement call = conn.prepareCall(sql);
// 注册输出参数
call.registerOutParameter(1, Types.INTEGER);
// 执行存储过程
call.execute();
// 获取输出参数值
int count = call.getInt(1);
Salin selepas log masuk
Salin selepas log masuk

3. Senario aplikasi praktikal prosedur tersimpan MySQL

Prosedur tersimpan MySQL biasanya digunakan untuk melaksanakan operasi Pertanyaan yang kompleks, dan boleh mengoptimumkan prestasi dan meningkatkan kelajuan pertanyaan data. Senario penggunaan prosedur tersimpan termasuk:

  1. Membangunkan gudang data

Gudang data ialah gudang data besar yang digunakan untuk menyimpan pelbagai data perniagaan dalam perusahaan, yang memerlukan banyak pemprosesan dan transformasi data. Prosedur tersimpan boleh mengekstrak sejumlah besar data melalui penyata pertanyaan yang kompleks dan mengubahnya menjadi format yang diperlukan oleh perusahaan untuk menyokong aplikasi yang sepadan bagi gudang data.

  1. Pemprosesan data kelompok

Pemprosesan data kelompok ialah senario aplikasi penting dalam perusahaan, contohnya: menyalin semua rekod dalam satu jadual ke jadual lain atau berbilang jadual , lakukan kemas kini kelompok atau padam operasi, dsb. Gunakan prosedur tersimpan untuk menulis pernyataan SQL yang kompleks dan cekap untuk operasi tertentu.

  1. Pemprosesan logik perniagaan

Pemprosesan logik perniagaan merupakan bahagian penting dalam aplikasi peringkat perusahaan, oleh itu, pembangun selalunya perlu melakukan pelbagai pemprosesan logik semasa pembangunan, seperti, Masukkan data ke dalam jadual baharu atau kemas kini jadual lama dengan menyemak keadaan yang tepat. Pada ketika ini, prosedur tersimpan boleh digunakan untuk mengendalikan logik ini dalam pangkalan data MySQL untuk pemprosesan yang lebih cekap.

Secara amnya, prosedur tersimpan ialah alat yang sangat berguna dan mempunyai aplikasi penting dalam mempercepatkan pemprosesan data, mengoptimumkan prestasi, pemprosesan logik perniagaan, dsb., dan boleh meningkatkan kecekapan pembangunan aplikasi peringkat perusahaan.

Atas ialah kandungan terperinci java mysql stored procedure memanggil prosedur tersimpan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan