JDBC批量插入、批量删除、批量更新

一、JDBC的批量插入

二、JDBC的批量更新

三、JDBC的批量删除


方法一:使用PreparedStatement加批量的方法

    try {   
            Class.forName("com.mysql.jdbc.Driver");   
            conn = DriverManager.getConnection(o_url, userName, password);   
            conn.setAutoCommit(false);   
            String sql = "INSERT adlogs(ip,website,yyyymmdd,hour,object_id) VALUES(?,?,?,?,?)";   
            PreparedStatement prest = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);   
            for(int x = 0; x < size; x++){   
               prest.setString(1, "192.168.1.1");   
               prest.setString(2, "localhost");   
               prest.setString(3, "20081009");   
               prest.setInt(4, 8);   
               prest.setString(5, "11111111");   
               prest.addBatch();   
            }   
            prest.executeBatch();   
            conn.commit();   
            conn.close();   
      } catch (SQLException ex) {   
          Logger.getLogger(MyLogger.class.getName()).log(Level.SEVERE, null, ex);   
      } catch (ClassNotFoundException ex) {   
           Logger.getLogger(MyLogger.class.getName()).log(Level.SEVERE, null, ex);   
      }  

方法二:使用Statement加批量的方法

    try {

            Class.forName("com.mysql.jdbc.Driver");   
            conn = DriverManager.getConnection(o_url, userName, password);   

            conn.setAutoCommit(false);   
            Statement stmt =conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);   
            for(int x = 0; x < size;x++){   
              stmt.addBatch("INSERT INTOadlogs(ip,website,yyyymmdd,hour,object_id) VALUES('192.168.1.3','localhost','20081009',8,'23123')");   

            }   
            stmt.executeBatch();   
            conn.commit();   
            conn.close();   

      } catch (SQLException ex) {   
         Logger.getLogger(MyLogger.class.getName()).log(Level.SEVERE, null, ex);   
      } catch (ClassNotFoundException ex) {   
           Logger.getLogger(MyLogger.class.getName()).log(Level.SEVERE, null, ex);   
      }  

方法三:直接使用Statement

    try {   

            Class.forName("com.mysql.jdbc.Driver");   
            conn = DriverManager.getConnection(o_url, userName, password);   
            conn.setAutoCommit(false);   
            Statement stmt =conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,   
            ResultSet.CONCUR_READ_ONLY);   
            for(int x = 0; x < size;x++){   
               stmt.execute("INSERT INTOadlogs(ip,website,yyyymmdd,hour,object_id) VALUES('192.168.1.3','localhost','20081009',8,'23123')");   
            }  

            conn.commit();   
            conn.close();   

      } catch (SQLException ex) {   
          Logger.getLogger(MyLogger.class.getName()).log(Level.SEVERE, null, ex);   
      } catch (ClassNotFoundException ex) {   
           Logger.getLogger(MyLogger.class.getName()).log(Level.SEVERE, null, ex);   
      }  


你可能感兴趣的:(数据库技术)