问题描述
向数据库表中批量插入20万行数据。
准备
首先在test数据库创建一张insert_test表。
CREATE TABLE insert_test(name VARCHAR(20));
不同方式测试前,都先把表清空。
TRUNCATE TABLE insert_test;
JDBCUtils类在前面文章已经写过。
方式一:Statement
//InsertTest.java
import org.junit.Test;
import java.sql.Connection;
import java.sql.Statement;
public class InsertTest {
@Test
public void test() {
Connection conn = null;
Statement st = null;
try {
long startTime = System.currentTimeMillis();
conn = JDBCUtils.getConnection();
st = conn.createStatement();
for (int i = 1; i < 200000; i++) {
String sql = "insert into insert_test(name) values('name_" + i + "')";
st.execute(sql);
}
long endTime = System.currentTimeMillis();
System.out.println("花费时间:" + (endTime - startTime));
} catch (Exception e) {
e.