如何通过jdbc调用存储过程


Posted in 面试题 onApril 19, 2012
在java.sql.Connection类中的public CallableStatement prepareCall(String sql)方法调用存储过程。Sql为an SQL statement that may contain one or more ‘?’ parameter placeholders. Typically this statement is a JDBC function call escape string.,即调用存储过程语句
Example:
Stored procedures:
Create or replace procedure addMember(name in varchar2(50),sex in varchar2(50)) as
begin
insert into family f (f.name,f.sex) values (name,sex);
end addMember;
Java source code:
…………………………………get Connection
String procedure = “{call addMember(?,?)}”;
CallableStatement cstmt = conn.prepareCall(procedure);
cstmt.setString(1,”马锐”);
cstmt.serString(2,”男”);
cstmt.excute();
………..close connection

若是需要返回值,我们可以通过function实现。可用下面方法
Example:
Stored procedures:
Create or replace function viewMember return types.cursortype as
family_cursor types.cursortype;
begin
open family_cursor for select f.name,f.sex from family f
return family_cursor
end addMember;
Java source code:
…………………………………get Connection
String procedure =”begin :1:=viewMember;end;”;
CallableStatement cstmt = conn.prepareCall(procedure);
cstmt.registerOutParameter(1,OracleTypes.CURSOR);
cstmt.execute();
ResultSet rset = (ResultSet)cstmt.getObject(1);
while(rset.next())
System.out.println(rset.getString(1);
cstmt.close();
)
………..close connection

Tags in this post...

面试题 相关文章推荐
什么是serialVersionUID
Mar 04 面试题
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
May 29 面试题
.net面试题
Dec 22 面试题
DataList 能否分页,请问如何实现?
May 03 面试题
上海期货面试题
Jan 31 面试题
几个Linux面试题笔试题
Aug 01 面试题
如何利用cmp命令比较文件
Sep 23 面试题
什么是JNDI的上下文?如何初始化JNDI上下文
Mar 10 面试题
什么是GWT的Entry Point
Aug 16 面试题
如何用Python来进行查询和替换一个文本字符串
Jan 02 面试题
this关键字的作用
Jan 30 面试题
北京振戎融通Java面试题
Sep 03 #面试题
Java模拟试题
Nov 10 #面试题
Java如何支持I18N?
Oct 31 #面试题
Ejb技术面试题
Apr 29 #面试题
Java面试笔试题大全
Nov 23 #面试题
JSF界面控制层技术
Jun 17 #面试题
Java基础面试题
Nov 02 #面试题
You might like
关于手调机和数调机的选择
2021/03/02 无线电
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
php快递单号查询接口使用示例
2014/05/05 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
5款Javascript颜色选择器
2009/10/25 Javascript
JQuery.ajax传递中文参数的解决方法 推荐
2011/03/28 Javascript
jQuery Ajax 实例全解析
2011/04/20 Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
Javascript的时间戳和php的时间戳转换注意事项
2013/04/12 Javascript
如何将网页表格内容导入excel
2014/02/18 Javascript
js动态创建标签示例代码
2014/06/09 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
JS使用cookie设置样式的方法
2016/06/30 Javascript
jQuery.parseHTML() 函数详解
2017/01/09 Javascript
轻松理解Javascript变量的相关问题
2017/01/20 Javascript
JS简单实现数组去重的方法示例
2017/03/27 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
redux-saga 初识和使用
2018/03/10 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
2019/05/09 Javascript
js实现石头剪刀布游戏
2020/10/11 Javascript
Python 调用VC++的动态链接库(DLL)
2008/09/06 Python
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
python实现集中式的病毒扫描功能详解
2019/07/09 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
python制作微博图片爬取工具
2021/01/16 Python
css3的focus-within选择器的使用
2020/05/11 HTML / CSS
护理实习自我鉴定
2013/12/14 职场文书
护理专业大学生自我推荐信
2014/01/25 职场文书
教育技术职业规划范文
2014/03/04 职场文书
飘柔洗发水广告词
2014/03/14 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
优秀学生党员先进事迹材料
2014/05/29 职场文书
质量提升方案
2014/06/16 职场文书
观看建国大业观后感
2015/06/01 职场文书
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python