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

面试题 相关文章推荐
局部内部类是否可以访问非final变量?
Apr 20 面试题
利用异或运算实现两个无符号数的加法运算
Dec 20 面试题
触发器(trigger)的功能都有哪些?写出一个触发器的例子
Sep 17 面试题
上海天奕面试题笔试题
Apr 19 面试题
Discard Protocol抛弃协议的作用是什么
Oct 10 面试题
UDP协议功能
Jan 06 面试题
CSMA/CD介质访问控制协议
Nov 17 面试题
如何利用cmp命令比较文件
Apr 11 面试题
华为python面试题
May 03 面试题
Python里面如何拷贝一个对象
Feb 17 面试题
Python面试题集
Mar 08 面试题
请说出以下代码输出什么
Aug 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
强烈推荐:php.ini中文版(1)
2006/10/09 PHP
php为什么选mysql作为数据库? Mysql 创建用户方法
2007/07/02 PHP
php面向对象全攻略 (四)构造方法与析构方法
2009/09/30 PHP
PHP常用编译参数中文说明
2014/09/27 PHP
php中实现可以返回多个值的函数实例
2015/03/21 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
thinkphp下MySQL数据库读写分离代码剖析
2017/04/18 PHP
PHP addcslashes()函数讲解
2019/02/03 PHP
prototype class详解
2006/09/07 Javascript
用js实现的页面关键字密度查询代码
2007/12/27 Javascript
javascript 单选框,多选框美化代码
2008/08/01 Javascript
jQuery 幻灯片插件(带缩略图功能)
2011/01/24 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
Jquery判断$("#id")获取的对象是否存在的方法
2013/09/25 Javascript
jQuery的each终止或跳过示例代码
2013/12/12 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
分享一则javascript 调试技巧
2015/01/02 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
如何利用JQuery实现从底部回到顶部的功能
2016/12/27 Javascript
JS设计模式之数据访问对象模式的实例讲解
2017/09/30 Javascript
LayUI动态设置checkbox不显示的解决方法
2019/09/02 Javascript
react native 仿微信聊天室实例代码
2019/09/17 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
Python机器学习之决策树算法实例详解
2017/12/06 Python
python for循环输入一个矩阵的实例
2018/11/14 Python
Python2.7实现多进程下开发多线程示例
2019/05/31 Python
深入浅析python 中的self和cls的区别
2020/06/20 Python
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
Strathberry苏贝瑞中国官网:西班牙高级工匠手工打造
2020/10/19 全球购物
学校门卫工作职责
2013/12/07 职场文书
九年级物理教学反思
2014/01/29 职场文书
小石潭记导游词
2015/02/03 职场文书
法律意见书范本
2015/06/04 职场文书
mysql全面解析json/数组
2022/07/07 MySQL