如何通过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高级工程师面试问题推荐
Jan 18 面试题
如何将字串String转换成整数int
Feb 21 面试题
类成员函数的重载、覆盖和隐藏区别
Jan 27 面试题
SQL Server 2000数据库的文件有哪些,分别进行描述
Mar 30 面试题
Oracle性能调优原则
May 03 面试题
几道数据库的面试题或笔试题
May 31 面试题
如何实现一个自定义类的序列化
May 22 面试题
介绍一下MD5加密算法
Nov 12 面试题
一套C#面试题
Oct 09 面试题
Linux中如何用命令创建目录
Dec 02 面试题
Java面试题:为什么要用Java
May 11 面试题
信号量和自旋锁的区别?如何选择使用?
Sep 08 面试题
北京振戎融通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
玩转虚拟域名◎+ .
2006/10/09 PHP
php的POSIX 函数以及进程测试的深入分析
2013/06/03 PHP
解决laravel 5.1报错:No supported encrypter found的办法
2017/06/07 PHP
Jquery实战_读书笔记1—选择jQuery
2010/01/22 Javascript
js将字符串转成正则表达式的实现方法
2013/11/13 Javascript
jquery ajax中使用jsonp的限制解决方法
2013/11/22 Javascript
多引号嵌套的变量命名的问题
2014/05/09 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
javascript使用正则表达式检测IP地址
2014/12/03 Javascript
js实现防止被iframe的方法
2015/07/03 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
jQuery计算文本框字数及限制文本框字数的方法
2016/03/01 Javascript
微信小程序自定义toast弹窗效果的实现代码
2018/11/15 Javascript
vue-router传参用法详解
2019/01/19 Javascript
微信小程序实现授权登录
2019/05/15 Javascript
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
[48:37]EG vs OG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[47:45]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第一场 2月26日
2021/03/11 DOTA
Python里隐藏的“禅”
2014/06/16 Python
Python调用SQLPlus来操作和解析Oracle数据库的方法
2016/04/09 Python
Python算法应用实战之队列详解
2017/02/04 Python
python中Apriori算法实现讲解
2017/12/10 Python
用Python将mysql数据导出成json的方法
2018/08/21 Python
PyCharm GUI界面开发和exe文件生成的实现
2020/03/04 Python
CSS3实现王者荣耀匹配人员加载页面的方法
2019/04/16 HTML / CSS
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
企业厂务公开实施方案
2014/03/26 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
地方课程教学计划
2015/01/19 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python
关于CSS浮动与取消浮动的问题
2021/06/28 HTML / CSS
十大公认最好看的动漫:《咒术回战》在榜,《钢之炼金术师》第一
2022/03/18 日漫