如何通过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...

面试题 相关文章推荐
为什么要优先使用同步代码块而不是同步方法?
Jan 30 面试题
C有"按引用传递"吗
Sep 06 面试题
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
Nov 26 面试题
简述DNS进行域名解析的过程
Dec 02 面试题
网络技术支持面试题
Apr 22 面试题
常见的软件开发流程有哪些
Nov 14 面试题
EJB面试题
Jul 28 面试题
介绍一下MYSQL常用的优化技巧
Oct 25 面试题
如何从一个文件档案的尾端新增记录
Dec 02 面试题
初始化了一个没有run()方法的线程类,是否会出错?
Mar 27 面试题
什么是servlet
May 08 面试题
Java面试题冲刺第十七天--基础篇3
Aug 07 面试题
北京振戎融通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
php防止伪造的数据从URL提交方法
2014/06/27 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
php app支付宝回调(异步通知)详解
2018/07/25 PHP
Laravel框架Auth用户认证操作实例分析
2019/09/29 PHP
js 表单验证方法(实用)
2009/04/28 Javascript
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
JavaScript的类型转换(字符转数字 数字转字符)
2010/08/30 Javascript
js网页实时倒计时精确到秒级
2014/02/10 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
js模仿php中strtotime()与date()函数实现方法
2015/08/11 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
2015/08/24 Javascript
AngularJs directive详解及示例代码
2016/09/01 Javascript
javascript的几种写法总结
2016/09/30 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
微信小程序 保留小数(toFixed)详细介绍
2016/11/16 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
[56:13]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第一场 1月10日
2021/03/11 DOTA
python读取html中指定元素生成excle文件示例
2014/04/03 Python
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
python 添加用户设置密码并发邮件给root用户
2016/07/25 Python
Python调用微信公众平台接口操作示例
2017/07/08 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
2018/10/11 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
python numpy数组复制使用实例解析
2020/01/10 Python
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
华为c/c++笔试题
2016/01/25 面试题
教师党员思想汇报
2014/01/06 职场文书
便利店投资的创业计划书
2014/01/12 职场文书
考试违纪检讨书
2014/02/02 职场文书
旅游与酒店管理专业求职信
2014/07/21 职场文书
2014教师党员自我评议总结
2014/09/19 职场文书
市场总监岗位职责
2015/02/11 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
python中sqllite插入numpy数组到数据库的实现方法
2021/06/21 Python
对象析构函数__del__在Python中何时使用
2022/03/22 Python