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

面试题 相关文章推荐
PHP如何设置和取得Cookie值
Jun 30 面试题
Yahoo-PHP面试题4
May 05 面试题
金讯Java笔试题目
Jun 18 面试题
请写出char *p与"零值"比较的if语句
Sep 24 面试题
SQL Server数据库笔试题和答案
Feb 04 面试题
触发器(trigger)的功能都有哪些?写出一个触发器的例子
Sep 17 面试题
接口可以包含哪些成员
Sep 30 面试题
what is the difference between ext2 and ext3
Aug 25 面试题
某科技软件测试面试题
May 19 面试题
Java面试题:Java类的Main方法如果是Private将会怎么样
Aug 18 面试题
请说出以下代码输出什么
Aug 30 面试题
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
Oct 22 面试题
北京振戎融通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
《一拳超人》埼玉一拳下去,他们存在了800年毫无意义!
2020/03/02 日漫
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
php微信公众平台配置接口开发程序
2016/09/22 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
php根据年月获取当月天数及日期数组的方法
2016/11/30 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
LBS blog sql注射漏洞[All version]-官方已有补丁
2007/08/26 Javascript
面向对象的Javascript之二(接口实现介绍)
2012/01/27 Javascript
浅谈Jquery核心函数
2015/06/18 Javascript
jquery插件格式实例分析
2016/06/16 Javascript
AngularJS基础 ng-init 指令简单示例
2016/08/02 Javascript
JS常用加密编码与算法实例总结
2016/12/22 Javascript
vue slot 在子组件中显示父组件传递的模板
2018/03/02 Javascript
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
Vue.js仿Select下拉框效果
2020/02/18 Javascript
基于js实现的图片拖拽排序源码实例
2020/11/04 Javascript
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
2021/02/23 Vue.js
[01:03:59]2018DOTA2亚洲邀请赛3月30日 小组赛B组VGJ.T VS Secret
2018/03/31 DOTA
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
python图像和办公文档处理总结
2019/05/28 Python
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
python爬取网易云音乐热歌榜实例代码
2020/08/07 Python
降低python版本的操作方法
2020/09/11 Python
浅析pandas随机排列与随机抽样
2021/01/22 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
澳大利亚电子产品购物网站:Dick Smith
2017/02/02 全球购物
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
刑事附带民事代理词
2015/05/25 职场文书
尊师重教主题班会
2015/08/14 职场文书
升职感谢领导的话语及升职感谢信
2019/06/24 职场文书
Win11如何修改dns?Win11修改dns图文教程
2022/01/18 数码科技
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers