Oracle数据库连接与调用简单的存储过程


Oracle数据库连接、对存储过程的调用
  create table chengji(id number,xing_ming varchar2(25),yu_wen number,shu_xue number)
--查询所有信息select * from chengji
--无返回值类型的存储过程
create procedure cj_proc_1  is
begin
insert into chengji values (3, 'wangwu', 90, 90);
commit;
end;
--输入一个值有一个值返回的存储过程
create procedure cj_proc_2
(x_name  in varchar2,x_num out number) is
num_1 number;num_2 number;
begin
select yu_wen,shu_xue into num_1,num_2 from chengji where xing_ming = x_name;x_num:=num_1+num_2;
end;
数据库连接:
public static void main(String[] args) {
       
            Connection conn=null;
            //数据库连接
        try {
           
            Class.forName("oracle.jdbc.driver.OracleDriver");
            conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "system", "admin");
           
        } catch (Exception e) {
            e.printStackTrace();
        }
        //对数据库进行操作
        try {
            CallableStatement proc=null;
               
            proc=conn.prepareCall("{call cj_proc_2(?,?)}");
            proc.setString(1,"zhangsan");
            proc.registerOutParameter(2, Types.NUMERIC);
           
            proc.execute();
            String jieguo=proc.getString(2);
            System.out.println("================="+jieguo);
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
       
      }

相关内容