如何通过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面试问题考卷
Jul 15 面试题
解释一下抽象方法和抽象类
Aug 27 面试题
.net笔试题
Mar 03 面试题
C#面试常见问题
Feb 25 面试题
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
Jul 21 面试题
Linux不知道文件后缀名怎么判断文件类型
Apr 26 面试题
软件测试笔试题
Oct 25 面试题
EJB需直接实现它的业务接口或Home接口吗,请简述理由
Nov 23 面试题
解释一下钝化(Swap out)
Dec 26 面试题
关于Java finally的面试题
Apr 27 面试题
九州传奇上机题
Jul 10 面试题
shell程序如何生命变量?shell变量是弱变量吗?
Nov 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
PHP数据库调用类调用实例(详细注释)
2012/07/12 PHP
PHP如何实现Unicode和Utf-8编码相互转换
2015/07/29 PHP
thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法
2016/05/19 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
PHP+Mysql分布式事务与解决方案深入理解
2021/02/27 PHP
ExtJS的FieldSet的column列布局
2009/11/20 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
vue2.0全局组件之pdf详解
2017/06/26 Javascript
详解如何在Angular优雅编写HTTP请求
2018/12/05 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
jQuery 实现扁平式小清新导航
2020/07/07 jQuery
[01:08:33]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:07:20]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第二场 2月2日
2021/03/11 DOTA
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
2017/11/30 Python
Python实现的质因式分解算法示例
2018/05/03 Python
通过python爬虫赚钱的方法
2019/01/29 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
python3.7将代码打包成exe程序并添加图标的方法
2019/10/11 Python
世界上第一个创建了罩杯系统的美国内衣品牌:Maidenform
2019/03/23 全球购物
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
中学生自我评价范文
2014/02/08 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
合伙购房协议样本
2014/10/06 职场文书
党员作风建设自查报告
2014/10/23 职场文书
教师求职信怎么写
2015/03/20 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
2015年后备干部工作总结
2015/05/15 职场文书
实习证明模板
2015/06/16 职场文书
五年级作文之学校的四季
2019/12/05 职场文书
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android
Python3中最常用的5种线程锁实例总结
2021/07/07 Python