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 }