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

面试题 相关文章推荐
我能否用void** 指针作为参数, 使函数按引用接受一般指针
Feb 16 面试题
字符串str除首尾字符外的其他字符按升序排列
Mar 08 面试题
数组越界问题
Oct 21 面试题
Oracle快照(snapshot)
Mar 13 面试题
Internal修饰符有什么含义
Jul 10 面试题
动态密码技术
Oct 18 面试题
C#里面如何倒序排列一个数组的元素?
Jun 21 面试题
一些Unix笔试题和面试题
Jan 22 面试题
解释一下钝化(Swap out)
Dec 26 面试题
EntityManager都有哪些方法
Nov 01 面试题
百度JavaScript笔试题
Jan 15 面试题
如何用JQuery进行表单验证
May 29 面试题
北京振戎融通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/04/07 PHP
PHP抽奖算法程序代码分享
2015/10/08 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
有效的捕获JavaScript焦点的方法小结
2009/10/08 Javascript
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
javascript实现window.print()去除页眉页脚
2014/12/30 Javascript
JS匿名函数实例分析
2016/11/26 Javascript
JS实现页面进入和返回定位到具体位置
2016/12/08 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
[js高手之路]HTML标签解释成DOM节点的实现方法
2017/08/31 Javascript
分享ES6的7个实用技巧
2018/01/18 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
SVG实现时钟效果
2018/07/17 Javascript
JavaScript+HTML5 canvas实现放大镜效果完整示例
2019/05/15 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
layui type2 通过url给iframe子页面传值的例子
2019/09/06 Javascript
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
Python脚本实现集群检测和管理功能
2015/03/06 Python
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
FFT快速傅里叶变换的python实现过程解析
2019/10/21 Python
python 下载文件的多种方法汇总
2020/11/17 Python
python drf各类组件的用法和作用
2021/01/12 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
2021/03/04 Python
美津浓巴西官方网站:Mizuno巴西
2019/07/24 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
如何设置Java的运行环境
2013/04/05 面试题
小学教师的个人自我鉴定
2013/10/26 职场文书
人事助理岗位职责
2013/11/18 职场文书
幼儿园毕业寄语
2014/04/03 职场文书
美术第二课堂活动总结
2014/07/08 职场文书
2014年领班工作总结
2014/11/25 职场文书
2015年清明节网上祭英烈活动总结
2015/03/26 职场文书
行政处罚决定书
2015/06/24 职场文书
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android