Prosedur tersimpan Oracle boleh dipanggil melalui program Java, yang merupakan cara untuk mengakses pangkalan data menggunakan teknologi Java. Artikel ini menerangkan cara menggabungkan prosedur tersimpan dengan Java dan menyediakan kod sampel yang berkaitan.
1. Gunakan JDBC untuk mengakses pangkalan data Oracle
Java Database Connectivity (JDBC) ialah API standard untuk menyambung ke pelbagai pangkalan data, termasuk pangkalan data Oracle. Sebelum menggunakan JDBC untuk mengakses pangkalan data Oracle, anda perlu melakukan langkah berikut:
1. Muat turun dan pasang pangkalan data Oracle.
2. Muat turun dan pasang Java Development Kit (JDK).
3. Muat turun dan pasang pemacu Oracle JDBC.
Terdapat dua cara untuk memuat turun pemacu Oracle JDBC:
-Muat turun tapak web rasmi Oracle: https://www.oracle.com/database/technologies/jdbc-drivers-12c-downloads . html
-Pergantungan Maven:
<dependency> <groupId>com.oracle.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>12.2.0.1</version> </dependency>
4.
Maklumat sambungan pangkalan data biasanya termasuk:
- Nama hos atau alamat IP pangkalan data.
-Pelabuhan pangkalan data.
- Nama pangkalan data.
- Nama pengguna dan kata laluan untuk pangkalan data.
Anda boleh mengkonfigurasi maklumat sambungan pangkalan data dengan cara berikut:
String url = "jdbc:oracle:thin:@localhost:1521:orcl"; String user = "username"; String password = "password";
5.
Gunakan kod berikut untuk menyambung ke pangkalan data:
Connection connection = DriverManager.getConnection(url, user, password);
Di mana, kaedah DriverManager.getConnection
menerima tiga parameter: URL, nama pengguna dan kata laluan.
Setelah disambungkan ke pangkalan data, anda boleh menggunakan program Java untuk melaksanakan pelbagai operasi seperti pertanyaan, sisip, kemas kini dan padam.
2. Pengenalan kepada prosedur tersimpan Oracle
Prosedur tersimpan ialah atur cara pra-disusun yang boleh melaksanakan satu siri pernyataan SQL untuk menyelesaikan tugas tertentu. Prosedur tersimpan mempunyai kelebihan berikut:
- Prestasi yang dipertingkatkan: Prosedur tersimpan telah disusun terlebih dahulu, yang mengurangkan masa pelaksanaan dan meningkatkan prestasi.
- Keselamatan yang dipertingkatkan: prosedur tersimpan memastikan kebenaran dihadkan kepada pengguna yang dibenarkan.
-Memudahkan pengaturcaraan: Prosedur tersimpan boleh merangkumi beberapa logik perniagaan biasa dan mengurangkan pertindihan kod.
3. Java memanggil prosedur tersimpan Oracle
Proses memanggil prosedur tersimpan dalam Java dibahagikan kepada langkah berikut:
1.
Gunakan kod berikut untuk mencipta CallableStatement:
CallableStatement cstmt = conn.prepareCall("{?= call procedure_name(?, ?, ...)}");
Di mana, conn
ialah objek sambungan pangkalan data dan procedure_name
ialah nama prosedur yang disimpan.
?=
mewakili nilai pulangan dan ?
mewakili parameter input.
2. Tetapkan nilai untuk parameter input.
Tetapkan nilai untuk parameter input menggunakan kod berikut:
cstmt.setString(2, "input_param");
di mana 2
mewakili nilai yang harus ditetapkan kepada parameter kedua dan "input_param"
ialah nilai parameter input sebenar .
3. Daftar parameter output.
Jika prosedur yang disimpan termasuk nilai pulangan atau parameter output, ia perlu didaftarkan melalui kaedah registerOutParameter
. Contohnya:
cstmt.registerOutParameter(1, Types.INTEGER);
Antaranya, 1
menunjukkan bahawa parameter pertama ialah nilai pulangan dan Types.INTEGER
menunjukkan bahawa jenis nilai pulangan ialah integer.
4. Laksanakan prosedur tersimpan.
Kod untuk melaksanakan prosedur yang disimpan adalah seperti berikut:
cstmt.execute();
5.
Jika prosedur yang disimpan termasuk nilai pulangan atau parameter output, anda boleh menggunakan kod berikut untuk mendapatkan keputusan:
int result = cstmt.getInt(1);
Di mana, 1
bermakna parameter pertama ialah pulangan nilai.
Ringkasnya, kod sampel untuk memanggil prosedur tersimpan Oracle dari Java adalah seperti berikut:
try { Class.forName("oracle.jdbc.driver.OracleDriver"); // 加载 JDBC 驱动 Connection conn = DriverManager.getConnection(url, user, password); // 连接到数据库 CallableStatement cstmt = conn.prepareCall("{?= call procedure_name(?, ?)}"); // 创建 CallableStatement cstmt.registerOutParameter(1, Types.INTEGER); // 注册输出参数 cstmt.setString(2, "input_param1"); // 设置输入参数 cstmt.setString(3, "input_param2"); cstmt.execute(); // 执行存储过程 int result = cstmt.getInt(1); // 获取结果 conn.close(); // 关闭数据库连接 } catch (Exception e) { e.printStackTrace(); }
Kod di atas menunjukkan cara menyambung ke pangkalan data Oracle, mencipta CallableStatement dan melaksanakan prosedur tersimpan .
Kesimpulan
Artikel ini memperkenalkan cara menggunakan program Java untuk mengakses pangkalan data Oracle dan memanggil prosedur tersimpan. Menggunakan prosedur tersimpan memudahkan pengaturcaraan dan meningkatkan prestasi dan keselamatan. Dengan menggabungkan teknologi Java dengan prosedur tersimpan, anda boleh mengakses dan mengendalikan pangkalan data Oracle dengan lebih cekap.
Atas ialah kandungan terperinci prosedur tersimpan oracle memanggil java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!