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