java之jdbc_批量添加數據(batch)

動力節點筆記java

 

  
  
  
  
  1. import java.sql.*;  
  2. //採用Batch添加數據  
  3. public class BatchTest01 {  
  4.     public static void main(String[] args) {  
  5.         Connection conn = null;  
  6.         PreparedStatement pstmt = null;  
  7.         try {  
  8.             //第一步,加載數據庫驅動,不一樣的數據庫驅動程序不同  
  9.             Class.forName("oracle.jdbc.driver.OracleDriver");  
  10.             //第二部,獲得數據庫鏈接  
  11.             String dburl = "jdbc:oracle:thin:@localhost:1521:orcl";  
  12.             //String dburl = "jdbc:oracle:thin:@192.168.21.1:1521:orcl";  
  13.             //String dburl = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";  
  14.             String userName = "system";  
  15.             String password = "wanwan";  
  16.             conn = DriverManager.getConnection(dburl, userName, password);  
  17.             //System.out.println(conn);  
  18.               
  19.             String sql = "insert into enp(empno, ename) values(?, ?)";  
  20.             pstmt = conn.prepareStatement(sql);  
  21.             for (int i = 0; i < 10; i++) {        
  22.                 pstmt.setInt(18000 + i);  
  23.                 pstmt.setString(2"趙" + i);  
  24.                 //這種方式與數據庫打交道的次數比較頻繁  
  25.                 //若是數據庫與應用程序再也不一臺機器上,那麼會有性能的損耗  
  26.                 //因此跨網絡的傳輸最好粒度粗一點  
  27.                 pstmt.executeUpdate();  
  28.             }  
  29.               
  30.             System.out.println("添加員工成功");     
  31.               
  32.         } catch (ClassNotFoundException e) {  
  33.             e.printStackTrace();  
  34.         } catch (SQLException e) {  
  35.             e.printStackTrace();  
  36.         } finally {  
  37.             //注意關閉原則:從裏到外  
  38.             try {  
  39.                 if (pstmt != null) {  
  40.                     pstmt.close();    
  41.                 }  
  42.                 if (conn != null) {  
  43.                     conn.close();  
  44.                 }  
  45.             } catch(SQLException e) {  
  46.                           
  47.             }  
  48.               
  49.         }  
  50.     }     
  51. }  

 

 

  
  
  
  
  1. import java.sql.*;  
  2. //採用Batch添加數據  
  3. public class BatchTest02 {  
  4.     public static void main(String[] args) {  
  5.         Connection conn = null;  
  6.         PreparedStatement pstmt = null;  
  7.         try {  
  8.             //第一步,加載數據庫驅動,不一樣的數據庫驅動程序不同  
  9.             Class.forName("oracle.jdbc.driver.OracleDriver");  
  10.             //第二部,獲得數據庫鏈接  
  11.             String dburl = "jdbc:oracle:thin:@localhost:1521:orcl";  
  12.             //String dburl = "jdbc:oracle:thin:@192.168.21.1:1521:orcl";  
  13.             //String dburl = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";  
  14.             String userName = "system";  
  15.             String password = "wanwan";  
  16.             conn = DriverManager.getConnection(dburl, userName, password);  
  17.             //System.out.println(conn);  
  18.               
  19.             String sql = "insert into enp(empno, ename) values(?, ?)";  
  20.             pstmt = conn.prepareStatement(sql);  
  21.             for (int i = 1; i <= 100; i++) {          
  22.                 pstmt.setInt(19000 + i);  
  23.                 pstmt.setString(2"張_" + i);  
  24.                 pstmt.addBatch();  
  25.                 if (i % 10 == 0) {  
  26.                     //批量更新  
  27.                     pstmt.executeBatch();  
  28.                 }  
  29.             }  
  30.             pstmt.executeUpdate();  
  31.             System.out.println("添加員工成功");     
  32.               
  33.         } catch (ClassNotFoundException e) {  
  34.             e.printStackTrace();  
  35.         } catch (SQLException e) {  
  36.             e.printStackTrace();  
  37.         } finally {  
  38.             //注意關閉原則:從裏到外  
  39.             try {  
  40.                 if (pstmt != null) {  
  41.                     pstmt.close();    
  42.                 }  
  43.                 if (conn != null) {  
  44.                     conn.close();  
  45.                 }  
  46.             } catch(SQLException e) {  
  47.                           
  48.             }  
  49.               
  50.         }  
  51.     }     
相關文章
相關標籤/搜索