zoukankan      html  css  js  c++  java
  • 简单的Java调用Oracle存储过程

    一、Oracle数据新建测试表和存储过程

      1、新建test表

    create table test(
        name varchar2(5) primary key,
        password varchar2(5) not null
    )

      2、新建带参数的存储过程pro_add_test用来向test表中插入一条数据

    create or replace procedure pro_add_test(m_name in test.name%type,m_password in test.password%type) is
    begin
           insert into test values(m_name,m_password);
    end;

      3、测试一下存储过程,插入一条数据

    begin
      pro_add_test('p','1');
    end;

    二、Java内中调用存储过程

    package procedureTransfer;
    
    import java.sql.CallableStatement;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    public class Procedure {
        public static  Connection getConn(){//获得数据库连接对象
            Connection conn = null;
            try {
                Class.forName("oracle.jdbc.driver.OracleDriver");
                conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "tiger");
                
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }catch (Exception e) {
                e.printStackTrace();
            }        
            return conn;
        }
        
        public void pro_add(String name,String pass){//调用存储过程
            Connection conn = getConn();
            try {
                CallableStatement cal = conn.prepareCall("{call pro_add_test(?,?)}");
                cal.setString(1, name);
                cal.setString(2, pass);
                cal.execute();
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        
        public static void main(String[] args) {//main函数中测试
            Procedure p = new Procedure();
            p.pro_add("test", "pass");
        }
    }

    数据库中查看就会发现多了一天“test”-“pass”的数据。

  • 相关阅读:
    C# 窗体WinForm中动态显示radioButton实例
    C#和Java交互相关研究
    c# 注册表操作,创建,删除,修改,判断节点是否存在
    C#单例模式的三种写法
    C#中使用TCP通信
    c#中this的用法
    C#单例模式的三种写法
    二十道经典C#面试题
    Linux chattr 命令详解
    Linux ulimit命令详解
  • 原文地址:https://www.cnblogs.com/pengchi/p/4402460.html
Copyright © 2011-2022 走看看