packagecom.sb.test;import java.sql.*;importjava.util.Random;/*** 批量操作+事务提交
**/
public classJdbcInsertDataLess {private static String url = "jdbc:mysql://localhost:3306/TEST?characterEncoding=utf8&serverTimezone=GMT%2B8";private static String user = "root";private static String password = "root";public static voidmain(String[] args) {
Connection conn= null;
PreparedStatement pstm= null;
ResultSet rt= null;try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(url, user, password);
String sql= "INSERT INTO person(pid,name) VALUES(?,CONCAT('姓名',?))";
pstm=conn.prepareStatement(sql);
conn.setAutoCommit(false);
Long startTime=System.currentTimeMillis();
Random rand= newRandom();inta, b;//插入100000条数据
for (int i = 1; i <= 100000; i++) {
pstm.setInt(1, i);
pstm.setInt(2, i);//随机数
a = rand.nextInt(10);
b= rand.nextInt(10);
pstm.setString(1, "188" + a + "88" +b);
pstm.addBatch();
}
pstm.executeBatch();
conn.commit();
Long endTime=System.currentTimeMillis();
System.out.println("************************正在插入中,请稍等******************************");
System.out.println("批量插入用时:" + (endTime -startTime));
}catch(ClassNotFoundException e) {
e.printStackTrace();
}catch(SQLException e) {
e.printStackTrace();throw newRuntimeException(e);
}finally{if (pstm != null) {try{
pstm.close();
}catch(SQLException e) {
e.printStackTrace();throw newRuntimeException(e);
}
}if (conn != null) {try{
conn.close();
}catch(SQLException e) {
e.printStackTrace();throw newRuntimeException(e);
}
}
}
}
}