JAVA跟Oracle之间,最常用的操作就是是JAVA调用Oracle存储过程,下面就为您介绍JAVA如何对Oracle存储过程进行调用。
Ⅰ、JAVA调用Oracle存储过程【不带输出参数】
过程名称为pro1,参数个数1个,数据类型为整形数据。
- import java.sql.*;
- public class ProcedureNoArgs {
- public static void main(String args[]) throws Exception {
- // 加载Oracle驱动
- DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
- // 获得Oracle数据库连接
- Connection conn = DriverManager.getConnection(
- " jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd);
- // 创建存储过程的对象
- CallableStatement c = conn.prepareCall(" {call pro1(?)} ");
- // 给Oracle存储过程的参数设置值 ,将第一个参数的值设置成188
- c.setInt(1, 188);
- // 执行Oracle存储过程
- c.execute();
- conn.close();
- }
- }
Ⅱ、JAVA调用Oracle存储过程【带输出参数的情况】
过程名称为pro2,参数个数2个,数据类型为整形数据,返回值为整形类型
- import java.sql.*;
- public class ProcedureWithArgs {
- public static void main(String args[]) throws Exception {
- // 加载Oracle驱动
- DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
- // 获得Oracle数据库连接
- Connection conn = DriverManager.getConnection(
- "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd);
- // 创建Oracle存储过程的对象,调用存储过程
- CallableStatement c = conn.prepareCall("{call pro2(?,?)}");
- // 给Oracle存储过程的参数设置值 ,将第一个参数的值设置成188
- c.setInt(1, 188);
- // 注册存储过程的第二个参数
- c.registerOutParameter(2, java.sql.Types.INTEGER);
- // 执行Oracle存储过程
- c.execute();
- // 得到存储过程的输出参数值并打印出来
- System.out.println(c.getInt(2));
- conn.close();
- }
- }
以上即是在JAVA中调用Oracle存储过程的最简单的实例。
【编辑推荐】