Java如何实现调用oracle带有返回值的存储过程
来源:互联网 发布:欧美经济数据 编辑:程序博客网 时间:2024/06/02 06:00
实现目标:在proTest表中查询出id=1的用户姓名
表代码块
create table protest( id int primary key, name varchar2(50), email varchar2(200))insert into protest values(1,'random','');
存储过程代码块
--参数列表 in 代表输入 out 代表输出 后面则是参数类型create or replace procedure proc_select_protest_byid(in_id in int,out_name out varchar2)isbeginselect name into out_name from protest where id=in_id;end;
Java测试代码块
import 包省略public class Test{ @Test public void proTest(){ Connection conn = null; CallableStatement cs = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "a"); cs = conn.prepareCall("{call proc_select_protest_byid(?,?)}"); //设置存储过程的输入参数 cs.setInt(1, 1); //设置存储过程的输出参数的处理方式 cs.registerOutParameter(2, oracle.jdbc.OracleTypes.VARCHAR); cs.execute(); //获取存储过程的返回值 String name = cs.getString(2); System.out.println(name); } catch (Exception e) { e.printStackTrace(); }finally{ try { cs.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } } }}
console
random
注意事项
1.对于存储过程的输入参数,使用setXXX;对于输出参数,使用registerOutParameter,问号的顺序要对应,同时需要考虑类型。
2.取出存储过程返回值的方法是CallableStatement提供的getXX()注意输出参数的位置,同时也需要考虑输出参数的类型。
参考资料
java调用oracle带有返回值的存储过程
阅读全文
1 0
- Java如何实现调用oracle带有返回值的存储过程
- java调用oracle带有返回值的存储过程
- hibernate调用oracle的带有返回值的存储过程
- Oracle中调用带有返回参数的存储过程
- 带有返回值的oracle 存储过程 大 | 中 | 小
- java调用ORACLE 存储过程返回值
- java调用有返回值的oracle存储过程
- Oracle 存储过程 调用带有 out 参数的存储过程
- ASP.NET 调用带有返回值的存储过程及获取其返回值
- oracle中存储过程调用存储过程(带有返回结果集)
- java 调用 oracle存储过程返回列表
- java调用Oracle存储过程返回Cursor
- java 调用oracle的存储过程返回记录集
- java调用oracle返回结果集的存储过程
- java通过prepareCall调用oracle返回游标的存储过程
- Oracle存储过程之带有返回参数
- java调用ORACLE 存储过程返回值22
- java调用ORACLE 存储过程返回值33
- Hystrix 参数详解及设置样例
- STM32学习笔记:实验
- Gogland同步插件配置
- Fle.createNewFile() 和 Fle.createTempFile() 比较和区别
- Unity计算速率的简单方法
- Java如何实现调用oracle带有返回值的存储过程
- Spring MVC+MediaElement.js实现在WEB上播放MP4并支持拖移播放
- List集合转成String字符串
- 请求被中止: 未能创建 SSL/TLS 安全通道
- jQuery报错:Uncaught ReferenceError: $ is not defined
- 剑指offer——37.数字在排序数组中出现的次数
- finereport自带的模板目录
- 数学基础01
- python 可迭代对象与迭代器