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

面试题 相关文章推荐
Order by的几种用法
Jun 16 面试题
如何估计一张表的大小(假设该表中有1万条数据)
Mar 27 面试题
北京-环亚运商测试题.net程序员初步测试题
May 28 面试题
关于Assembly命名空间的三个面试题
Jul 23 面试题
武汉世纪畅想数字传播有限公司.NET笔试题
Jul 22 面试题
DataReader和DataSet的异同
Dec 31 面试题
STP的判定过程
Oct 01 面试题
Does C# support multiple inheritance? (C#支持多重继承吗)
Jan 04 面试题
数字天堂软件测试面试题
Dec 23 面试题
山海经纬软件测试笔试题和面试题
Apr 02 面试题
为什么要做架构设计
Jul 08 面试题
remote接口和home接口主要作用
May 15 面试题
北京振戎融通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 上传文件类型判断函数(避免上传漏洞 )
2010/06/08 PHP
php循环table实现一行两列显示的方法
2015/06/04 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
php中删除、清空session的方式总结
2015/10/09 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
2016/03/07 PHP
jQuery学习笔记之jQuery的事件
2010/12/22 Javascript
使用非html5实现js板连连看游戏示例代码
2013/09/22 Javascript
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
javascript四舍五入函数代码分享(保留后几位)
2013/12/10 Javascript
jQuery制作拼图小游戏
2015/01/12 Javascript
javascript与Python快速排序实例对比
2015/08/10 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
基于JavaScript实现添加到购物车效果附源码下载
2016/08/22 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
基于wordpress的ajax写法详解
2018/01/02 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
Vue $attrs & inheritAttr实现button禁用效果案例
2020/12/07 Vue.js
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
详解Python中的多线程编程
2015/04/09 Python
python函数中return后的语句一定不会执行吗?
2017/07/06 Python
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
Python smtplib实现发送邮件功能
2018/05/22 Python
对python 树状嵌套结构的实现思路详解
2019/08/09 Python
python3中rank函数的用法
2019/11/27 Python
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
工程造价与管理专业应届生求职信
2013/11/23 职场文书
信用卡结清证明怎么写
2014/09/13 职场文书
国际贸易实务实训报告
2014/11/05 职场文书
2014年护士长工作总结
2014/11/11 职场文书
个人工作能力自我评价
2015/03/05 职场文书
2015教师年度思想工作总结
2015/04/30 职场文书
科级干部培训心得体会
2016/01/06 职场文书
JS前端轻量fabric.js系列物体基类
2022/08/05 Javascript