java调用存储过程和存储函数


  • 环境准备
    • oracle10g--->ojdbc14.jar
    • orcale11g--->ojdbc6.jar
  • 引入包失败解决办法

                      

run in context:

mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar -Dfile=F:\BaiduNetdiskDownload\ojdbc14-10.2.0.4.0.jar 
  • 存储过程调用
  {call [(,, ...)]}
  • 存储函数调用
  {?= call [(,, ...)]}

  • java调用存储过程代码
        //加载数据库驱动
        Class.forName("oracle.jdbc.driver.OracleDriver");
        //得到conn连接
        Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl ", "system", "root");
        //得到预编译statement对象
        CallableStatement callableStatement = conn.prepareCall("{call p_yearsal(?,?)}");
        //给参数赋值
        callableStatement.setObject(1,7788);
        callableStatement.registerOutParameter(2, OracleTypes.NUMBER);
        //执行数据库查询
        callableStatement.execute();
        //输出结果【第二个参数】
        System.out.println(callableStatement.getObject(2));
        //释放资源
        callableStatement.close();
        conn.close();
  •  java调用存储函数代码
        //加载数据库驱动
        Class.forName("oracle.jdbc.driver.OracleDriver");
        //得到conn连接
        Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl ", "system", "root");
        //得到预编译statement对象
        CallableStatement callableStatement = conn.prepareCall("{?=call f_yearsal(?)}");
        //给参数赋值
        callableStatement.registerOutParameter(1, OracleTypes.NUMBER);
        callableStatement.setObject(2,7788);
        //执行数据库查询
        callableStatement.execute();
        //输出结果【第二个参数】
        System.out.println(callableStatement.getObject(1));
        //释放资源
        callableStatement.close();
        conn.close();