详解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
相关文章:
如何在阿里云域名上完成建站全流程?
如何快速完成中国万网建站详细流程?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
岳西云建站教程与模板下载_一站式快速建站系统操作指南
如何用PHP快速搭建高效网站?分步指南
北京企业网站设计制作公司,北京铁路集团官方网站?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
昆明网站制作哪家好,昆明公租房申请网上登录入口?
制作销售网站教学视频,销售网站有哪些?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
在线制作视频的网站有哪些,电脑如何制作视频短片?
建站主机选购指南与交易推荐:核心配置解析
建站VPS能否同时实现高效与安全翻墙?
如何在服务器上配置二级域名建站?
如何挑选最适合建站的高性能VPS主机?
专业公司网站制作公司,用什么语言做企业网站比较好?
如何用景安虚拟主机手机版绑定域名建站?
如何用免费手机建站系统零基础打造专业网站?
高防服务器如何保障网站安全无虞?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
如何通过云梦建站系统实现SEO快速优化?
如何在搬瓦工VPS快速搭建网站?
如何在万网自助建站中设置域名及备案?
黑客如何利用漏洞与弱口令入侵网站服务器?
PHP正则匹配日期和时间(时间戳转换)的实例代码
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
如何获取上海专业网站定制建站电话?
宝塔面板创建网站无法访问?如何快速排查修复?
如何快速搭建二级域名独立网站?
中山网站制作网页,中山新生登记系统登记流程?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
建站上市公司网站建设方案与SEO优化服务定制指南
如何在IIS7上新建站点并设置安全权限?
如何彻底卸载建站之星软件?
seo网站制作优化,网站SEO优化步骤有哪些?
,柠檬视频怎样兑换vip?
如何高效配置香港服务器实现快速建站?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
网站制作知乎推荐,想做自己的网站用什么工具比较好?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
青岛网站建设如何选择本地服务器?
外贸公司网站制作哪家好,maersk船公司官网?
宝塔建站后网页无法访问如何解决?
建站之星安装模板失败:服务器环境不兼容?
建站之星如何防范黑客攻击与数据泄露?
如何快速查询网址的建站时间与历史轨迹?
建站主机是否属于云主机类型?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
在线制作视频网站免费,都有哪些好的动漫网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。