需要注意的四个点:
1.addBatch() 2.execuyeBatch() 3.clearBatch(),用于批量的处理
2.mysql服务器默认是关闭批处理的,我们需要通过一个参数,让mysql开启批处理的支
将 ?rewriteBatchedStatements=true 写在配置文件jdbc.properties的url后面
3.使用更新的mysql 驱动:mysql-connector-java-5.1.37-bin.jar(老师的上课资料里)
4.设置不允许自动提交数据:
conn.setAutoCommit(false);
conn.commit();
package com.atguigu5.blob;
import com.atguigu3.util.JDBCUtils;
import java.sql.Connection;
import java.sql.PreparedStatement;
public class insertTest {
public static void main(String[] args) {
//批量插入操作四
//设置不允许自动提交数据
Connection conn= null;
PreparedStatement ps= null;
try {
conn = JDBCUtils.getConnection();
conn.setAutoCommit(false);
String sql="insert into goods(name)values(?)";
ps = conn.prepareStatement(sql);
for (int i=0;i<=200000;i++){
ps.setObject(1,"name"+i);
//1.攒sql
ps.addBatch();
if(i%500==0){
//2.执行batch
ps.executeBatch();
//3.清空batch
ps.clearBatch();
}
}
conn.commit();
} catch (Exception e) {
e.printStackTrace();
}
JDBCUtils.closeResource(conn,ps);
}
}