欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解java調(diào)用存儲(chǔ)過(guò)程并封裝成map

 更新時(shí)間:2017年09月05日 15:02:50   作者:wjch_111  
這篇文章主要介紹了詳解java調(diào)用存儲(chǔ)過(guò)程并封裝成map的相關(guān)資料,希望通過(guò)本文能幫助到大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下

詳解java調(diào)用存儲(chǔ)過(guò)程并封裝成map

           本文代碼中注釋寫(xiě)的比較清楚不在單獨(dú)說(shuō)明,希望能幫助到大家,

實(shí)例代碼:

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+ "(?,?,?) }"; //拼裝調(diào)用存儲(chǔ)過(guò)程字符串 
                  CallableStatement cstmt = con.prepareCall (procedure ); //調(diào)用存儲(chǔ)過(guò)程 
                  cstmt.setString (1,parameters [0 ]); //設(shè)置入?yún)?
                  cstmt.setInt (2, Integer. parseInt( parameters[ 1])) ;//設(shè)置入?yún)?
                  cstmt.registerOutParameter (3, oracle.jdbc.OracleTypes.CURSOR ); //設(shè)置出參 
                   
                  cstmt.execute (); //執(zhí)行提交 
                  rs = (ResultSet ) cstmt.getObject (3 ); //獲取出參,3為參數(shù)順序數(shù) 
                  ResultSetMetaData rsm =rs.getMetaData (); //獲得列集 
                  Map< String, Object> map= null; 
                   int col = rsm.getColumnCount ();  //獲得列的個(gè)數(shù) 
                   String colName [] = new String[ col] ;//列名集合 
                   for (int i = 0; i < col; i++) { 
                        colName [i ] = rsm.getColumnName (i+1 ); 
                   } 
                   while( rs.next()){ 
                         //注意訪問(wèn)結(jié)果集是從索引位置1開(kāi)始的,而不是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; 
       } 

如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • 關(guān)于@Component和@Bean使用注意

    關(guān)于@Component和@Bean使用注意

    這篇文章主要介紹了關(guān)于@Component和@Bean使用注意,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • SpringBoot如何實(shí)現(xiàn)Tomcat自動(dòng)配置

    SpringBoot如何實(shí)現(xiàn)Tomcat自動(dòng)配置

    這篇文章主要介紹了SpringBoot如何實(shí)現(xiàn)Tomcat自動(dòng)配置,幫助大家更好的理解和學(xué)習(xí)使用SpringBoot框架,感興趣的朋友可以了解下
    2021-03-03
  • Java數(shù)據(jù)結(jié)構(gòu)之單鏈表詳解

    Java數(shù)據(jù)結(jié)構(gòu)之單鏈表詳解

    在之前的學(xué)習(xí)中,我們主要了解了很多 Java 的 基本語(yǔ)法,但是在之后的 Java學(xué)習(xí)中,了解基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)的知識(shí)非常重要,數(shù)據(jù)結(jié)構(gòu)的思想可以幫助我們更加清晰明白的了解 Java 的解題思路等等.今天我們就來(lái)開(kāi)始學(xué)習(xí)實(shí)現(xiàn)一個(gè)Java基礎(chǔ)的單鏈表,需要的朋友可以參考下
    2021-05-05
  • Java簡(jiǎn)單實(shí)現(xiàn)約瑟夫環(huán)算法示例

    Java簡(jiǎn)單實(shí)現(xiàn)約瑟夫環(huán)算法示例

    這篇文章主要介紹了Java簡(jiǎn)單實(shí)現(xiàn)約瑟夫環(huán)算法,簡(jiǎn)單描述了約瑟夫環(huán)問(wèn)題,并結(jié)合實(shí)例形式分析了Java實(shí)現(xiàn)約瑟夫環(huán)的具體操作技巧,需要的朋友可以參考下
    2017-09-09
  • Maven項(xiàng)目分析剔除無(wú)用jar引用的方法步驟

    Maven項(xiàng)目分析剔除無(wú)用jar引用的方法步驟

    這篇文章主要介紹了Maven項(xiàng)目分析剔除無(wú)用jar引用的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • java使用POI實(shí)現(xiàn)html和word相互轉(zhuǎn)換

    java使用POI實(shí)現(xiàn)html和word相互轉(zhuǎn)換

    這篇文章主要為大家詳細(xì)介紹了java使用POI實(shí)現(xiàn)html和word的相互轉(zhuǎn)換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Java攔截器Interceptor實(shí)現(xiàn)原理及代碼示例

    Java攔截器Interceptor實(shí)現(xiàn)原理及代碼示例

    本文詳細(xì)講解了Java攔截器Interceptor實(shí)現(xiàn)原理及代碼示例,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • 利用MyBatis-Plus靈活處理JSON字段的技巧與最佳實(shí)踐

    利用MyBatis-Plus靈活處理JSON字段的技巧與最佳實(shí)踐

    這篇文章主要給大家介紹了關(guān)于利用MyBatis-Plus靈活處理JSON字段的技巧與最佳實(shí)踐,Mybatis-Plus可以很方便地處理JSON字段,在實(shí)體類(lèi)中可以使用@JSONField注解來(lái)標(biāo)記JSON字段,需要的朋友可以參考下
    2024-07-07
  • SpringBoot之bootstrap和application的區(qū)別解讀

    SpringBoot之bootstrap和application的區(qū)別解讀

    這篇文章主要介紹了SpringBoot之bootstrap和application的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • mybatis報(bào)錯(cuò)元素內(nèi)容必須由格式正確的字符數(shù)據(jù)或標(biāo)記組成異常的解決辦法

    mybatis報(bào)錯(cuò)元素內(nèi)容必須由格式正確的字符數(shù)據(jù)或標(biāo)記組成異常的解決辦法

    今天小編就為大家分享一篇關(guān)于mybatis查詢出錯(cuò)解決辦法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12

最新評(píng)論