descuser$$+-------+-------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+-------+-------------+------+-----+---------+----------------+|id|int(11)|NO|PRI|NULL|auto_increment||n" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

jdbc 處理mysql procedure返回的多個結(jié)果集

系統(tǒng) 2466 0

1:測試數(shù)據(jù)庫表user

      mysql>
      
         desc user$$


      
      +-------+-------------+------+-----+---------+----------------+

| Field | Type        | Null | Key | Default | Extra          |

+-------+-------------+------+-----+---------+----------------+

| 
      
        id
      
          | 
      
        int
      
      (
      
        11
      
      )     | NO   | PRI | NULL    | auto_increment |

| name  | varchar(
      
        10
      
      ) | YES  |     | NULL    |                |

| age   | 
      
        int
      
      (
      
        11
      
      )     | YES  |     | NULL    |                |

+-------+-------------+------+-----+---------+----------------+


      
        3
      
       rows 
      
        in
      
       set (
      
        0.00
      
       sec)
    

?

2:存儲過程,返回id>n_id 的與id<n_id的兩個結(jié)果集

      
        delimiter $$


      
      
        create
      
      
        procedure
      
       p_get_user_list(
      
        in
      
       n_id 
      
        int
      
      
        )


      
      
        begin
      
      
        select
      
       id, name, age 
      
        from
      
      
        user
      
      
        where
      
       id 
      
        >
      
      
         n_id;

    
      
      
        select
      
       id, name, age 
      
        from
      
      
        user
      
      
        where
      
       id 
      
        <
      
      
         n_id;


      
      
        end
      
       $$
    

3:JDBC操作

      
        /*
      
      
        

 * To change this license header, choose License Headers in Project Properties.

 * To change this template file, choose Tools | Templates

 * and open the template in the editor.

 
      
      
        */
      
      
        package
      
      
         jdbctest;


      
      
        import
      
      
         java.sql.CallableStatement;


      
      
        import
      
      
         java.sql.Connection;


      
      
        import
      
      
         java.sql.DriverManager;


      
      
        import
      
      
         java.sql.ResultSet;


      
      
        import
      
      
         java.sql.SQLException;


      
      
        import
      
      
         java.util.logging.Level;


      
      
        import
      
      
         java.util.logging.Logger;




      
      
        /**
      
      
        

 *

 * 
      
      
        @author
      
      
         y

 
      
      
        */
      
      
        public
      
      
        class
      
      
         Jdbctest {



    
      
      
        /**
      
      
        

     * 
      
      
        @param
      
      
         args the command line arguments

     
      
      
        */
      
      
        public
      
      
        static
      
      
        void
      
      
         main(String[] args) {

        
      
      
        //
      
      
         TODO code application logic here
      
      
                funtest();

    }

    

    

    
      
      
        public
      
      
        static
      
      
        void
      
      
         funtest(){

        Connection conn 
      
      = 
      
        null
      
      
        ;

        CallableStatement calState 
      
      = 
      
        null
      
      
        ;

        ResultSet rs 
      
      = 
      
        null
      
      
        ;

        

        
      
      
        try
      
      
         {

            Class.forName(
      
      "com.mysql.jdbc.Driver"
      
        );

            conn 
      
      = (Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", ""
      
        );

            

            calState 
      
      = conn.prepareCall("{call p_get_user_list(?)}"
      
        );

            calState.setInt(
      
      1, 3
      
        );

            

            
      
      
        boolean
      
       oprFlag =
      
         calState.execute();

            
      
      
        //
      
      
        使用外循環(huán)來控制結(jié)果集的個數(shù),內(nèi)循環(huán)控制每個結(jié)果集的記錄
      
      
        while
      
      
        (oprFlag){

                rs 
      
      =
      
         calState.getResultSet();

                System.out.println(
      
      "================="
      
        );

                
      
      
        while
      
      
        (rs.next()){

                    System.out.println(
      
      "id:"+rs.getInt("id")+"\t"+

                                "name:"+rs.getString("name")+"\t"+

                                "age:" +rs.getInt("age"
      
        ));

                }

                oprFlag 
      
      =
      
         calState.getMoreResults();

            }

        }
      
      
        catch
      
       (ClassNotFoundException |
      
         SQLException ex) {

            Logger.getLogger(Jdbctest.
      
      
        class
      
      .getName()).log(Level.SEVERE, 
      
        null
      
      
        , ex);

        }
      
      
        finally
      
      
        {

            
      
      
        if
      
      (
      
        null
      
       !=
      
        rs ){

                
      
      
        try
      
      
         {

                    rs.close();

                } 
      
      
        catch
      
      
         (SQLException ex) {

                    Logger.getLogger(Jdbctest.
      
      
        class
      
      .getName()).log(Level.SEVERE, 
      
        null
      
      
        , ex);

                }

            }

            
      
      
        if
      
      (
      
        null
      
       !=
      
         calState){

                
      
      
        try
      
      
         {

                    calState.close();

                } 
      
      
        catch
      
      
         (SQLException ex) {

                    Logger.getLogger(Jdbctest.
      
      
        class
      
      .getName()).log(Level.SEVERE, 
      
        null
      
      
        , ex);

                }

            }

            
      
      
        if
      
      (
      
        null
      
       !=
      
         conn){

                
      
      
        try
      
      
         {

                    conn.close();

                } 
      
      
        catch
      
      
         (SQLException ex) {

                    Logger.getLogger(Jdbctest.
      
      
        class
      
      .getName()).log(Level.SEVERE, 
      
        null
      
      
        , ex);

                }

            }

        }

        

    }

    

}
      
    

4:測試結(jié)果

      
        run:


      
      =================


      
        id
      
      :
      
        4
      
          name:test2    age:
      
        30
      
      
        id
      
      :
      
        5
      
          name:test3    age:
      
        24
      
      

=================


      
        id
      
      :
      
        1
      
          name:里斯    age:
      
        25
      
      
        id
      
      :
      
        2
      
          name:王五    age:
      
        26
      
      
        

成功構(gòu)建 (總時間: 
      
      
        0
      
       秒)
    

?

?

jdbc 處理mysql procedure返回的多個結(jié)果集


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 来安县| 横峰县| 淄博市| 邮箱| 宁津县| 西林县| 石阡县| 东港市| 许昌市| 灵台县| 隆安县| 宁夏| 石门县| 漠河县| 遵化市| 阳谷县| 清水县| 平顺县| 曲阜市| 修文县| 通辽市| 玉门市| 通道| 贵南县| 陆良县| 宁国市| 青冈县| 高雄市| 合作市| 宣城市| 自治县| 乐安县| 永年县| 通化县| 大埔县| 龙口市| 尉氏县| 古浪县| 宕昌县| 长海县| 昌都县|