本文为使用 原生JDBC 批量执行大数据量 Demo。以下代码,博主未做测试,此处仅用来收藏,方便以后使用。
/**
* JDBC 批量执行Demo
*/
@Test
public void testJdbcBatch() throws Exception {
Connection conn = null;
PreparedStatement ps = null;
try {
Class.forName("com.mysql.jdbc.Driver");
DriverManager.getConnection("jdbc:mysql://localhost/rh_test?useUnicode=true&characterEncoding=UTF-8");
String sql = "insert into db_user(id,username,age,address) values (?,?,?,?)";
ps = conn.prepareStatement(sql);
List<User> list = new ArrayList<User>();
for (int i = 0; i < 1000000; i++) {
ps.setInt(1, i);
ps.setString(2, String.valueOf(i));
ps.setInt(3,(int) Math.random()*100);
ps.setString(4,"Beijing-"+i);
ps.addBatch();
}
//批量执行
ps.executeBatch();
} finally {
ps.close();
conn.close();
}
}
End