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

面试题 相关文章推荐
J2SDK1.5与J2SDK5.0有什么区别
Sep 19 面试题
介绍一下游标
Jan 10 面试题
使用索引(Index)有哪些需要考虑的因素
Oct 19 面试题
Oracle性能调优原则
May 03 面试题
什么是唯一索引
Jul 05 面试题
.net面试题
Dec 22 面试题
Internal修饰符有什么含义
Jul 10 面试题
EJB面试题
Jul 28 面试题
Python面试题:Python里面如何生成随机数
Mar 12 面试题
Static Nested Class 和 Inner Class的不同
Nov 28 面试题
什么是抽象
Dec 13 面试题
Ruby如何创建一个线程
Mar 10 面试题
北京振戎融通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
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
linux下编译安装memcached服务
2014/08/03 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
2020/08/06 PHP
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
JavaScript prototype 使用介绍
2013/08/29 Javascript
常用js字符串判断方法整理
2013/10/18 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
JavaScript将取代AppleScript?
2014/09/18 Javascript
JavaScript中的Web worker多线程API研究
2014/12/06 Javascript
一步步教大家编写酷炫的导航栏js+css实现
2016/03/14 Javascript
js实现的简单图片浮动效果完整实例
2016/05/10 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
nodejs中用npm初始化来创建package.json的实例讲解
2018/10/10 NodeJs
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
vue和iview实现Scroll 数据无限滚动功能
2019/10/31 Javascript
如何利用JS将手机号中间四位变成*号
2020/09/29 Javascript
Python开发实例分享bt种子爬虫程序和种子解析
2014/05/21 Python
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
Django实现支付宝付款和微信支付的示例代码
2018/07/25 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
爬虫代理池Python3WebSpider源代码测试过程解析
2019/12/20 Python
python numpy数组复制使用实例解析
2020/01/10 Python
Python tornado上传文件的功能
2020/03/26 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
100%法国制造的游戏和玩具:Les Jouets Français
2021/03/02 全球购物
年度考核评语
2014/01/19 职场文书
暑期研修感言
2014/02/17 职场文书
群众路线班子对照检查材料
2014/09/25 职场文书
电影小兵张嘎观后感
2015/06/03 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书
Python基础之hashlib模块详解
2021/05/06 Python
python实现简单的聊天小程序
2021/07/07 Python
JavaScript原型链中函数和对象的理解
2022/06/16 Javascript