详解java调用存储过程并封装成map
本文代码中注释写的比较清楚不在单独说明,希望能帮助到大家,
实例代码:
publicList>doCallProcedure(StringprocedureString,String[]parameters) throwsPersistentDataOperationException{ if(!isReady()){ thrownewPersistentDataOperationException("DAOisnotready."); } ResultSetrs=null; List>list=newArrayList>(); try{ Connectioncon=session.connection(); Stringprocedure="{call"+procedureString+"(?,?,?)}";//拼装调用存储过程字符串 CallableStatementcstmt=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为参数顺序数 ResultSetMetaDatarsm=rs.getMetaData();//获得列集 Mapmap=null; intcol=rsm.getColumnCount();//获得列的个数 StringcolName[]=newString[col];//列名集合 for(inti=0;i(); for(intj=0;j 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。