Maison  >  Article  >  base de données  >  La procédure stockée Oracle appelle Java

La procédure stockée Oracle appelle Java

王林
王林original
2023-05-07 19:43:39872parcourir

Les procédures stockées Oracle peuvent être appelées via des programmes Java, ce qui est un moyen d'accéder à la base de données à l'aide de la technologie Java. Cet article explique comment combiner des procédures stockées avec Java et fournit un exemple de code pertinent.

1. Utilisez JDBC pour accéder à la base de données Oracle

Java Database Connection (JDBC) est une API standard pour se connecter à diverses bases de données, y compris Oracle Database. Avant d'utiliser JDBC pour accéder à la base de données Oracle, vous devez effectuer les étapes suivantes :

1 Téléchargez et installez la base de données Oracle.

2. Téléchargez et installez le kit de développement Java (JDK).

3. Téléchargez et installez le pilote Oracle JDBC.

Il existe deux façons de télécharger le pilote Oracle JDBC :

-Téléchargement du site officiel d'Oracle : https://www.oracle.com/database/technologies/jdbc-drivers - 12c-downloads.html

-Dépendance Maven :

<dependency>
    <groupId>com.oracle.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>12.2.0.1</version>
</dependency>

4.

Les informations de connexion à la base de données comprennent généralement :

-Le nom d'hôte ou l'adresse IP de la base de données.

-Port de la base de données.

- Le nom de la base de données.

-Nom d'utilisateur et mot de passe pour la base de données.

Vous pouvez configurer les informations de connexion à la base de données des manières suivantes :

String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String user = "username";
String password = "password";

5.

Utilisez le code suivant pour vous connecter à la base de données :

Connection connection = DriverManager.getConnection(url, user, password);

Parmi eux, la méthode DriverManager.getConnection accepte trois paramètres : URL, nom d'utilisateur et mot de passe. DriverManager.getConnection 方法接受三个参数:URL,用户名和密码。

连接到数据库后,就可以使用 Java 程序来执行各种操作,如查询、插入、更新和删除。

二、Oracle 存储过程简介

存储过程是一种预先编译过的程序,能够执行一系列 SQL 语句以完成特定的任务。存储过程具有以下优点:

-提高了性能:存储过程是预先编译的,可以减少执行时间并提高性能。

-提高了安全性:存储过程可以确保权限仅限于授权用户。

-简化编程:存储过程可以封装一些通用的业务逻辑,减少代码重复。

三、Java 调用 Oracle 存储过程

在 Java 中调用存储过程的过程分为以下步骤:

1.创建 CallableStatement。

使用以下代码创建 CallableStatement:

CallableStatement cstmt = conn.prepareCall("{?= call procedure_name(?, ?, ...)}");

其中,conn 为数据库连接对象,procedure_name 为存储过程名称。

?= 表示返回值,? 表示输入参数。

2.为输入参数设置值。

使用以下代码为输入参数设置值:

cstmt.setString(2, "input_param");

其中,2 表示应该设置为第二个参数的值,"input_param" 是实际的输入参数值。

3.注册输出参数。

如果存储过程包括返回值或输出参数,则需要通过 registerOutParameter 方法进行注册。例如:

cstmt.registerOutParameter(1, Types.INTEGER);

其中,1 表示第一个参数是返回值,Types.INTEGER 表示返回值类型为整数。

4.执行存储过程。

执行存储过程的代码如下:

cstmt.execute();

5.获取返回值或输出参数。

如果存储过程包括返回值或输出参数,则可以使用以下代码获取结果:

int result = cstmt.getInt(1);

其中,1

Une fois connecté à la base de données, vous pouvez utiliser des programmes Java pour effectuer diverses opérations telles que des requêtes, des insertions, des mises à jour et des suppressions.

2. Introduction aux procédures stockées Oracle

Une procédure stockée est un programme précompilé qui peut exécuter une série d'instructions SQL pour accomplir une tâche spécifique. Les procédures stockées présentent les avantages suivants :

- Performances améliorées : les procédures stockées sont précompilées, ce qui réduit le temps d'exécution et améliore les performances.

-Sécurité améliorée : les procédures stockées garantissent que les autorisations sont limitées aux utilisateurs autorisés. #🎜🎜##🎜🎜#-Simplifiez la programmation : les procédures stockées peuvent encapsuler une logique métier commune et réduire la duplication de code. #🎜🎜##🎜🎜#3. Java appelle les procédures stockées Oracle #🎜🎜##🎜🎜#Le processus d'appel des procédures stockées en Java est divisé en les étapes suivantes : #🎜🎜##🎜🎜#1. Déclaration Callable. #🎜🎜##🎜🎜#Utilisez le code suivant pour créer un CallableStatement : #🎜🎜#
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();
}
#🎜🎜#Où, conn est l'objet de connexion à la base de données et procedure_name est le nom de la procédure stockée. #🎜🎜##🎜🎜#?= représente la valeur de retour et ? représente le paramètre d'entrée. #🎜🎜##🎜🎜#2. Définissez les valeurs des paramètres d'entrée. #🎜🎜##🎜🎜#Utilisez le code suivant pour définir la valeur du paramètre d'entrée : #🎜🎜#rrreee#🎜🎜#Où, 2 représente la valeur qui doit être définie à la seconde paramètre, "input_param" est la valeur réelle du paramètre d'entrée. #🎜🎜##🎜🎜#3. Enregistrez les paramètres de sortie. #🎜🎜##🎜🎜#Si la procédure stockée inclut des valeurs de retour ou des paramètres de sortie, elle doit être enregistrée via la méthode registerOutParameter. Par exemple : #🎜🎜#rrreee#🎜🎜# Parmi eux, 1 signifie que le premier paramètre est la valeur de retour, et Types.INTEGER signifie que le type de valeur de retour est un entier. #🎜🎜##🎜🎜#4. Exécutez la procédure stockée. #🎜🎜##🎜🎜#Le code pour exécuter la procédure stockée est le suivant : #🎜🎜#rrreee#🎜🎜#5. #🎜🎜##🎜🎜#Si la procédure stockée inclut des valeurs de retour ou des paramètres de sortie, vous pouvez utiliser le code suivant pour obtenir les résultats : #🎜🎜#rrreee#🎜🎜#Où, 1 représente le premier paramètre qui est la valeur de retour. #🎜🎜##🎜🎜#Pour résumer, l'exemple de code pour appeler des procédures stockées Oracle à partir de Java est le suivant : #🎜🎜#rrreee#🎜🎜#Le code ci-dessus montre comment se connecter à une base de données Oracle, créer un CallableStatement et exécutez une procédure stockée. #🎜🎜##🎜🎜#Conclusion#🎜🎜##🎜🎜#Cet article décrit comment utiliser les programmes Java pour accéder aux bases de données Oracle et appeler des procédures stockées. L'utilisation de procédures stockées simplifie la programmation et améliore les performances et la sécurité. En combinant la technologie Java avec des procédures stockées, vous pouvez accéder et exploiter les bases de données Oracle plus efficacement. #🎜🎜#

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn