在java中调用Oracle存储过程

在java中调用Oracle存储过程

本文介绍如何通过java来调用Oracle的存储过程

1. 编写存储过程

CREATE OR REPLACE PROCEDURE  sp_pro3(sp_name VARCHAR2,sp_sal NUMBER )
IS
BEGIN
  --根据用户名修改工资
  UPDATE emp SET sal=sp_sal WHERE ename=sp_name;
END;

  1. 引入jdbc6.jar,编写测试类Test.java
package testOraclePro;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;

public class Test {

    public static void main(String[] args) {
        try{
            //1.加载驱动
            Class.forName("oracle.jdbc.driver.OracleDriver");
            //2.获取连接
            Connection ct=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE","sys as sysdba","123456");
            //3.创建CallableStatement
        CallableStatement cs=ct.prepareCall("{call sp_pro3(?,?)}");
            //4.赋值
            cs.setString(1, "zxs");
            cs.setFloat(2,455f);
            //5.执行
            cs.execute();
            //6.关闭资源
            cs.close();
            ct.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

执行上面的测试类,即可调用存储过程,执行相应的程序了。

时间: 2024-12-04 11:34:35

在java中调用Oracle存储过程的相关文章

oracle pl/sql之java中调用oracle有参存储过程

存储过程: create or replace procedure my_procedure(in_no in number,in_name in varchar2) is begin insert into emp(empno,ename) values(in_no,in_name); end; java程序演示: import java.sql.CallableStatement;import java.sql.Connection;import java.sql.DriverManager

java代码调用oracle存储过程

一.简介 与调用mysql存储过程类型过程都是如下 1.创建连接 Connection conn = DriverManager.getConnection(url, user, password); 2.创建CallableStatement CallableStatement statement = conn.prepareCall(sql); 3.设置参数 statement.setInt(1, id); statement.registerOutParameter(2, Types.VA

java hibernate 调用oracle存储过程

1.hibernate 调用存储过程 各种方法 http://www.cnblogs.com/jerryxing/archive/2012/04/28/2475762.html 如果底层数据库(如Oracle)支持存储过程,也可以通过存储过程来执行批量更新.存储过程直接在数据库中运行,速度更加快.在Oracle数据库中可以定义一个名为batchUpdateStudent()的存储过程,代码如下: create or replace procedure batchUpdateStudent(p_a

oracle pl/sql之在java中调用带有输入输出参数的oracle存储过程

只需注意一点输出参数是用CallableStatement里面的registerOutParameter方法注册进去 存储过程: import java.sql.CallableStatement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import java.sql.Types; //在java中

oracle pl/sql之在java中调用无参的oracle存储过程

在java 中调用oracle的存储过程和jdbc的操作类似都是分以下几个步骤 1:加载驱动 2:链接数据库并获得一个数据库链接对象 3:执行语句 4:操作结果集 5:关闭资源 前提是:存储过程已写好 create or replace procedure my_procedure is begin insert into emp(empno,ename) values(9527,'唐伯虎'); end; java程序演示: import java.sql.CallableStatement;i

java基础---->java调用oracle存储过程(转)

存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.今天,我们就开始学习java中调用oracle的存储过程. java中调用oracle的存储过程 项目结构如下: 一. 在数据库创建存储过程的脚本,如果使用的是本地的oracle数据库,则需要开启服务:OracleOraDb11g_home1TNSListener和OracleServiceORCL.

java基础---->java调用oracle存储过程

存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.今天,我们就开始学习java中调用oracle的存储过程. java中调用oracle的存储过程 项目结构如下: 一. 在数据库创建存储过程的脚本,如果使用的是本地的oracle数据库,则需要开启服务:OracleOraDb11g_home1TNSListener和OracleServiceORCL.

java 实现往oracle存储过程中传递array数组类型的参数

注:本文来源于 <  java 实现往oracle存储过程中传递array数组类型的参数  > 最近项目中遇到通过往存储过程传递数组参数的问题, 浪费了N多个小时,终于有点头绪. 具体的代码就不写上了,因为项目中存储过程的调用方法全部是封装好的(好像现在都这样,都姓3层,嘿嘿) 原理: 1.一维数组 A.单纯的一维数组的话,直接建立一个table类型就可以 1 TYPE TYPE_VARCHAR AS TABLE OF VARCHAR2(200); 2.多维数组 A.多维数组就要稍加修改了,如

java 调用 oracle 存储过程

-- 编写过程,要求输入雇员编号,返回雇员姓名. create or replace procedure getNameByNo(no in number, name out varchar2) is begin select ename into name from emp where empno = no; end; -- 输入部门号,返回该部门所有员工 -- 先建一个包,定义一个游标类型 create or replace package pkg_cursor is type my_cur