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

面试题 相关文章推荐
是什么让J2EE适合用来开发多层的分布式的应用
Jan 16 面试题
华为的Java面试题
Mar 07 面试题
Oracle的内存结构(Memory structures)
Jun 10 面试题
2019年分享net面试的经历和题目
Aug 07 面试题
C#可否对内存进行直接的操作
Feb 26 面试题
如何利用find命令查找文件
Feb 07 面试题
Linux中如何用命令创建目录
Jan 12 面试题
Linux面试题LINUX系统类
Nov 19 面试题
中科方德软件测试面试题
Apr 21 面试题
mysql有关权限的表都有哪几个
Apr 22 面试题
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
Apr 23 面试题
一套英文Java笔试题面试题
Apr 21 面试题
北京振戎融通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中去除所有js,html,css代码
2010/10/12 PHP
php中引用符号(&)的使用详解
2013/11/13 PHP
php创建无限级树型菜单
2015/11/05 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
aspx中利用js实现确认删除代码
2010/07/22 Javascript
JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
2012/12/19 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
移动端界面的适配
2017/01/11 Javascript
基于JavaScript实现的顺序查找算法示例
2017/04/14 Javascript
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
微信小程序实现图片预览功能
2018/01/31 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
vue框架搭建之axios使用教程
2018/07/11 Javascript
vue-cli设置publicPath小记
2020/04/14 Javascript
JS实现鼠标按下拖拽效果
2020/07/23 Javascript
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
Python实现句子翻译功能
2017/11/14 Python
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
Python检查和同步本地时间(北京时间)的实现方法
2018/12/03 Python
Python用61行代码实现图片像素化的示例代码
2018/12/10 Python
Python的互斥锁与信号量详解
2019/09/12 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
StubHub智利:购买和出售您的门票
2016/11/23 全球购物
面试必备的求职信
2014/05/25 职场文书
地质工程专业毕业生求职信
2014/08/08 职场文书
2016党员学习作风建设心得体会
2016/01/21 职场文书
Python数据分析之pandas读取数据
2021/06/02 Python
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python
Python实现8种常用抽样方法
2021/06/27 Python
Python pandas求方差和标准差的方法实例
2021/08/04 Python
基于Python实现流星雨效果的绘制
2022/03/18 Python