Java执行 oracle存储过程

一:先在数据库里执行以下sql脚本.
           --建表:
           create table user(
                id NUMBER(19),
                name VARCHAR2(9),
                primary key (id)
            );
           
            --建立存储过程:
            CREATE OR REPLACE PROCEDURE addUser(PARA1 IN NUMBER,PARA2 IN VARCHAR2)
            AS
            BEGIN
               INSERT INTO user (id,name) VALUES (PARA1, PARA2);
            END addUser;

二,执行以下Java代码.
     package com.demo.util;

      import java.sql.CallableStatement;
      import java.sql.DriverManager;
      import java.sql.ResultSet;
      import java.sql.Statement;

public class ConnectionUtil {

    public static void main(String[] args) {
        //要导入oracle驱动包.
        String driver = "oracle.jdbc.driver.OracleDriver";
        String strUrl = "jdbc:oracle:thin:@192.168.1.100:1521:test";
        String dbName = "root";
        String password = "123456";

        Statement statement = null;
        ResultSet result = null;
        java.sql.Connection connection = null;
        CallableStatement cStatement = null;
        try {
            Class.forName(driver);
            connection = DriverManager.getConnection(strUrl,dbName,password);
           if(connection != null){
                cStatement = connection.prepareCall("{call "+dbName+".addUser(?,?)}");
                cStatement.setInt(1, 1001);
                cStatement.setString(2, "Jack");
               
                cStatement.execute();
            }else {
                System.out.println("获取connection失败.");
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally{
            try {
                if(result != null){
                    result.close();
                }
                if(statement != null){
                    statement.close();
                }
                if (connection != null) {
                    connection.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
       
    }
}

三,去数据库查询添加用户是否成功.

select * from user where id = 1001;

注:
查询所有存储过程:
select * from user_objects where object_type='PROCEDURE';
删除存储过程:

drop procedure procedureName;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值