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 <procedure-name>[(<arg1>,<arg2>, ...)]}
  • 存储函数调用
  {?= call <procedure-name>[(<arg1>,<arg2>, ...)]}

  • 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();

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM