1 package cn.itcast.jdbc; 2 3 import java.sql.Connection; 4 import java.sql.Date; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 import java.sql.SQLException; 8 import java.sql.Statement; 9 10 public class BatchTest { 11 12 public static void main(String[] args) throws SQLException { 13 /*for (int i = 0; i < 1000; i++) { 14 create(i); 15 }*/ 16 createBatch(); 17 } 18 19 static int create(int i) throws SQLException { 20 Connection conn = null; 21 PreparedStatement ps = null; 22 ResultSet rs = null; 23 24 try { 25 conn = jdbcUtils.getConnection(); 26 27 String sql = "insert into user(name,birthday,money) values(?,?,?)"; 28 29 ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); 30 ps.setString(1, "name" + i); 31 ps.setDate(2, (java.sql.Date) new Date(System.currentTimeMillis())); 32 ps.setFloat(3, 1000F + i); 33 34 ps.executeUpdate(); 35 36 rs = ps.getGeneratedKeys(); 37 int id = 0; 38 39 if (rs.next()) 40 id = rs.getInt(1); 41 42 return id; 43 44 } finally { 45 jdbcUtils.free(rs, ps, conn); 46 } 47 } 48 49 static void createBatch() throws SQLException { 50 Connection conn = null; 51 PreparedStatement ps = null; 52 ResultSet rs = null; 53 54 try { 55 conn = jdbcUtils.getConnection(); 56 57 String sql = "insert into user(name,birthday,money) values(?,?,?)"; 58 59 ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); 60 61 for (int i = 0; i < 1000; i++) { 62 ps.setString(1, "name" + i); 63 ps.setDate(2, new Date(System.currentTimeMillis())); 64 ps.setFloat(3, 1000F + i); 65 66 ps.addBatch(); 67 } 68 69 int[] is = ps.executeBatch(); 70 71 } finally { 72 jdbcUtils.free(rs, ps, conn); 73 } 74 } 75 76 }