La base de données Oracle est actuellement le système de gestion de bases de données relationnelles le plus utilisé au monde, et Java est l'un des langages de programmation les plus populaires et peut fonctionner sur toutes les plates-formes. Dans les applications pratiques, Java et Oracle sont généralement utilisés ensemble, vous devez donc savoir comment appeler des procédures stockées dans la base de données Oracle en Java.
Une procédure stockée est un ensemble d'instructions SQL prédéfinies qui peuvent être compilées par le système de gestion de base de données Oracle et stockées dans la base de données. Les procédures stockées peuvent être utilisées pour améliorer les performances de la base de données et constituent des outils très utiles pour les développeurs qui doivent effectuer des opérations en plusieurs étapes. Les programmeurs Java peuvent appeler des procédures stockées pour effectuer des opérations sur la base de données.
Les principales étapes pour qu'un programme Java appelle des procédures stockées Oracle sont les suivantes :
Dans le programme Java, vous devez importer le pilote JDBC pour vous connecter à la base de données Oracle. Oracle fournit un pilote JDBC, oracle.jdbc.driver.OracleDriver. Le pilote JDBC doit être importé dans le chemin de classe du programme Java afin que le programme Java puisse l'utiliser pour obtenir la connexion à la base de données.
Dans le programme Java, vous devez obtenir la connexion à la base de données. Vous pouvez utiliser la classe DriverManager fournie par JDBC pour obtenir une connexion à la base de données. La méthode getConnection est utilisée pour obtenir la connexion à la base de données. Elle nécessite que la chaîne de connexion à la base de données, le nom d'utilisateur et le mot de passe soient transmis en paramètres.
Dans les programmes Java, vous devez préparer des instructions pour appeler des procédures stockées. Dans la base de données Oracle, les procédures stockées sont appelées via la classe CallableStatement. La classe CallableStatement est une sous-classe de la classe PreparedStatement qui gère les appels de procédures stockées. Elle contient les méthodes requises pour appeler les procédures stockées.
Dans un programme Java, vous devez lier les paramètres de la procédure stockée. Les paramètres peuvent être liés aux appels de procédure stockée à l'aide de la méthode setXXX de la classe CallableStatement. Le XXX dans la méthode setXXX représente le type de paramètres liés à la méthode, notamment int, String, double, etc.
Une fois que vous avez préparé l'instruction pour appeler la procédure stockée et lié les paramètres, vous pouvez exécuter la procédure stockée. Dans un programme Java, vous pouvez utiliser la méthodeexecute ou la méthodeexecuteQuery de la classe CallableStatement pour exécuter une procédure stockée.
Les procédures stockées peuvent renvoyer certaines valeurs, telles que des curseurs, des valeurs de paramètres, etc. Dans un programme Java, vous devez utiliser la méthode getXXX de la classe CallableStatement pour obtenir la valeur renvoyée par la procédure stockée.
Ce qui suit est un exemple de programme Java montrant comment appeler une procédure stockée dans une base de données Oracle :
import java.sql.CallableStatement ;
import java.sql.Connection ;
import java.sql.DriverManager ; sql.Types ;
public static void main(String[] args) throws Exception {
// 步骤1:导入JDBC驱动 Class.forName("oracle.jdbc.driver.OracleDriver"); // 步骤2:获取数据库连接 Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL", "user", "password"); // 步骤3:准备调用存储过程的语句 String sql = "{call proc_example(?,?,?)}"; // proc_example是存储过程名 CallableStatement cs = conn.prepareCall(sql); // 步骤4:绑定参数 cs.setInt(1, 123); // 绑定参数1为整型123 cs.registerOutParameter(2, Types.VARCHAR); // 绑定参数2为字符串类型 cs.registerOutParameter(3, Types.NUMERIC); // 绑定参数3为数字类型 // 步骤5:执行存储过程 cs.execute(); // 步骤6:处理返回值 String strResult = cs.getString(2);// 获取返回值 int iResult = cs.getInt(3); // 输出返回值 System.out.println("strResult:" + strResult); System.out.println("iResult:" + iResult); // 关闭连接和语句 cs.close(); conn.close();
}
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!