yxhxj2006

          常用鏈接

          統計

          最新評論

          在JDBC一次插入多個表、多條記錄

           

          在jdbc操作中,通過事務操作,一次可以插入多個表 ,多條記錄:

          public static void insertBatch() {
            
          int count[];
            
          int count1[];
            Boolean isinsert 
          = false;
            Connection con 
          = null;
            PreparedStatement pst 
          = null;
            PreparedStatement pst1 
          = null;
            
          try {
             con 
          = getCon();
             con.setAutoCommit(
          false);                                   // 需要用到事務,不能讓他自動提交,需要手動提交
             pst = con.prepareStatement(INSERT_SQL);          // INSERT_SQL表示對一張表的插入記錄
             pst1 = con.prepareStatement(INSERT_SQL1);      // INSERT_SQL表示對另一張表的插入記錄

             pst.setString(
          1"name1");
             pst.setInt(
          226);
             pst.setString(
          3"job1");
             pst.addBatch();
             
             pst.setString(
          1"name2");
             pst.setInt(
          212);
             pst.setString(
          3"job2");
             pst.addBatch();
             
          -------可以對pst進行更多的插入-----------
             pst1.setString(
          1"name--1");
             pst1.setInt(
          226);
             pst1.setString(
          3"job--1");
             pst1.addBatch();
             
             pst1.setString(
          1"name--2");
             pst1.setInt(
          226);
             pst1.setString(
          3"job--2");
             pst1.addBatch();
             
          -------可以對pst1進行更多的插入-----------
             count 
          = pst.executeBatch();
             count1 
          = pst1.executeBatch();
             con.commit();                 
          //提交事務,這個非常重要
             
             
          for(int i : count){
              
          if(i == 0{
               con.rollback();              
          // 回滾,非常重要
               System.out.println("======出現異常,回滾=========");
              }

             }

             
             
          for(int i : count1){
              
          if(i == 0{
               con.rollback();          
          // 回滾,非常重要
               System.out.println("==111====出現異常,回滾====111=====");
              }

             }

               
            }
           catch (SQLException e) {
             
          try {
              con.rollback();            
          // 回滾,非常重要
             }
           catch (SQLException e1) {
              e1.printStackTrace();
             }

             System.out.println(
          "------出現異常,回滾----------");
             e.printStackTrace();
            }
           finally {
             cloCon(con,pst);
            }

           }

           

          posted on 2012-07-17 14:40 奮斗成就男人 閱讀(2682) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 阿荣旗| 浙江省| 贡觉县| 固原市| 二连浩特市| 鹰潭市| 积石山| 绥阳县| 云霄县| 莎车县| 米易县| 贵南县| 桦南县| 安徽省| 汕头市| 汪清县| 濉溪县| 孝昌县| 含山县| 兴城市| 江阴市| 微博| 长治市| 错那县| 淄博市| 上饶县| 宜兰县| 陆川县| 宣城市| 丁青县| 福建省| 永德县| 宝坻区| 盐亭县| 嘉义市| 额尔古纳市| 永新县| 昆明市| 子长县| 历史| 承德市|