Rumah > pangkalan data > Oracle > teks badan

prosedur tersimpan oracle memanggil java

王林
Lepaskan: 2023-05-07 19:43:39
asal
871 orang telah melayarinya

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>
Salin selepas log masuk

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";
Salin selepas log masuk

5.

Gunakan kod berikut untuk menyambung ke pangkalan data:

Connection connection = DriverManager.getConnection(url, user, password);
Salin selepas log masuk

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(?, ?, ...)}");
Salin selepas log masuk

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");
Salin selepas log masuk

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);
Salin selepas log masuk

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();
Salin selepas log masuk

5.

Jika prosedur yang disimpan termasuk nilai pulangan atau parameter output, anda boleh menggunakan kod berikut untuk mendapatkan keputusan:

int result = cstmt.getInt(1);
Salin selepas log masuk

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();
}
Salin selepas log masuk

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!