详解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
相关文章:
建站10G流量真的够用吗?如何应对访问高峰?
网站设计制作公司地址,网站建设比较好的公司都有哪些?
如何基于云服务器快速搭建网站及云盘系统?
ui设计制作网站有哪些,手机UI设计网址吗?
如何通过PHP快速构建高效问答网站功能?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
如何获取PHP WAP自助建站系统源码?
如何构建满足综合性能需求的优质建站方案?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
如何快速生成可下载的建站源码工具?
高防服务器租用首荐平台,企业级优惠套餐快速部署
已有域名建站全流程解析:网站搭建步骤与建站工具选择
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
如何高效完成自助建站业务培训?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
建站之星后台管理如何实现高效配置?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
建站主机选购指南:核心配置优化与品牌推荐方案
零服务器AI建站解决方案:快速部署与云端平台低成本实践
网站制作壁纸教程视频,电脑壁纸网站?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
长沙企业网站制作哪家好,长沙水业集团官方网站?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
建站主机系统SEO优化与智能配置核心关键词操作指南
如何在七牛云存储上搭建网站并设置自定义域名?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
Swift中循环语句中的转移语句 break 和 continue
如何通过多用户协作模板快速搭建高效企业网站?
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
制作表格网站有哪些,线上表格怎么弄?
深圳 网站制作,深圳招聘网站哪个比较好一点啊?
建站VPS推荐:2025年高性能服务器配置指南
怀化网站制作公司,怀化新生儿上户网上办理流程?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
全景视频制作网站有哪些,全景图怎么做成网页?
盐城做公司网站,江苏电子版退休证办理流程?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
C++如何使用std::optional?(处理可选值)
如何通过老薛主机一键快速建站?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
建站主机解析:虚拟主机配置与服务器选择指南
焦点电影公司作品,电影焦点结局是什么?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
如何在Windows 2008云服务器安全搭建网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。