详解java调用存储过程并封装成map

本文代码中注释写的比较清楚不在单独说明,希望能帮助到大家,
实例代码:
public List<Map<String , Object>> doCallProcedure(String procedureString,String[] parameters)
throws PersistentDataOperationException {
if (!isReady ()) {
throw new PersistentDataOperationException( "DAO is not ready.");
}
ResultSet rs = null;
List<Map< String, Object>> list = new ArrayList<Map<String ,Object>>();
try {
Connection con=session.connection();
String procedure = "{call "+procedureString+ "(?,?,?) }"; //拼装调用存储过程字符串
CallableStatement cstmt = con.prepareCall (procedure ); //调用存储过程
cstmt.setString (1,parameters [0 ]); //设置入参
cstmt.setInt (2, Integer. parseInt( parameters[ 1])) ;//设置入参
cstmt.registerOutParameter (3, oracle.jdbc.OracleTypes.CURSOR ); //设置出参
cstmt.execute (); //执行提交
rs = (ResultSet ) cstmt.getObject (3 ); //获取出参,3为参数顺序数
ResultSetMetaData rsm =rs.getMetaData (); //获得列集
Map< String, Object> map= null;
int col = rsm.getColumnCount (); //获得列的个数
String colName [] = new String[ col] ;//列名集合
for (int i = 0; i < col; i++) {
colName [i ] = rsm.getColumnName (i+1 );
}
while( rs.next()){
//注意访问结果集是从索引位置1开始的,而不是0
map = new HashMap< String, Object> ();
for (int j = 0; j < colName.length; j++) {
map.put (colName [j ], rs.getString (j+1 ));
}
list.add (map );
}
session.flush ();
} catch (HibernateException e) {
throw new PersistentDataOperationException( e) ;
} catch (SQLException e) {
e.printStackTrace ();
}
return list;
}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# java调用存储过程并封装成map
# java
# 调用存储过程的实例详解
# Java Spring动态生成Mysql存储过程详解
# MyBatis创建存储过程的实例代码_动力节点Java学院整理
# Java调用Oracle存储过程详解
# Java实现调用MySQL存储过程详解
# 详解Java的JDBC API的存储过程与SQL转义语法的使用
# java编程调用存储过程中得到新增记录id号的实现方法
# Java调用MySQL存储过程并获得返回值的方法
# java调用mysql存储过程实例分析
# Java中调用SQL Server存储过程详解
# java调用oracle分页存储过程示例
# java调用Oracle存储过程的方法实例
# Java下使用Oracle存储过程(详解)
# Java存储过程调用CallableStatement的方法
# 存储过程
# 希望能
# 如有
# 是从
# 谢谢大家
# 而不是
# 疑问请
# ready
# ResultSet
# throw
# PersistentDataOperationException
# isReady
# DAO
# throws
# session
# con
# procedure
# connection
相关文章:
如何通过老薛主机一键快速建站?
如何制作一个表白网站视频,关于勇敢表白的小标题?
如何获取PHP WAP自助建站系统源码?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
,制作一个手机app网站要多少钱?
如何选择高效可靠的多用户建站源码资源?
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
如何快速登录WAP自助建站平台?
公司网站的制作公司,企业网站制作基本流程有哪些?
b2c电商网站制作流程,b2c水平综合的电商平台?
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
如何快速上传建站程序避免常见错误?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
实例解析angularjs的filter过滤器
高端企业智能建站程序:SEO优化与响应式模板定制开发
建站之星代理如何获取技术支持?
建站之星2.7模板:企业网站建设与h5定制设计专题
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
MySQL查询结果复制到新表的方法(更新、插入)
制作销售网站教学视频,销售网站有哪些?
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
,怎么用自己头像做动态表情包?
建站之星在线客服如何快速接入解答?
建站主机是否等同于虚拟主机?
如何选择高效响应式自助建站源码系统?
如何正确选择百度移动适配建站域名?
东莞专业制作网站的公司,东莞大学生网的网址是什么?
建站主机选择指南:服务器配置与SEO优化实战技巧
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
如何在Windows虚拟主机上快速搭建网站?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
如何在Golang中使用replace替换模块_指定本地或远程路径
代刷网站制作软件,别人代刷火车票靠谱吗?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
如何选择可靠的免备案建站服务器?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
盘锦网站制作公司,盘锦大洼有多少5G网站?
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
南京网站制作费用,南京远驱官方网站?
建站之星在线版空间:自助建站+智能模板一键生成方案
如何快速搭建支持数据库操作的智能建站平台?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
如何获取开源自助建站系统免费下载链接?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
如何快速生成可下载的建站源码工具?
详解jQuery中基本的动画方法
*请认真填写需求信息,我们会在24小时内与您取得联系。