/**
* 原生JDBC批量导入10万条数据
*/
public class Test01 {
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql:///day13?rewriteBatchedStatements=true", "root", "ROOT");
PreparedStatement statement = connection.prepareStatement("INSERT INTO user(username,password) VALUES (?,?)");
long startTime = System.currentTimeMillis();
connection.setAutoCommit(false);
for (int i = 0; i < 100000; i++) {
statement.setString(1, i + "username");
statement.setString(2, i + "password");
statement.addBatch();//批量提交 连接数据库的参数设置rewriteBatchedStatements=true 事务手动提交一次 耗时为:820毫秒
// statement.executeUpdate();//事务手动提交并且只提交一次大概耗时为:6094毫秒
// statement.executeUpdate();//事务自动提交大概耗时为:350793毫秒 大概5.6分钟
}
statement.executeBatch();
connection.commit();
long result = System.currentTimeMillis() - startTime;
System.out.println("用时时间为: " + result);
/**
* 释放资源
*/
statement.close();
connection.close();
}
}
控制台输出结果