数据库连接url后加上rewriteBatchedStatements=true这个参数即可
jdbc:mysql://localhost:3306/mydb?rewriteBatchedStatements=true
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import org.junit.Test;
import cn.yellowimg.demo3.JdbcUtils;
public class Demo5 {
@Test
public void fun1() throws Exception{
Connection con=JdbcUtils.getConnection();
String sql="insert into stu values(?,?,?,?)";
PreparedStatement preparedStatement=con.prepareStatement(sql);
for(int i=0;i<10000;i++)
{
preparedStatement.setInt(1, i+1);
preparedStatement.setString(2, "ITCAST_"+i);
preparedStatement.setInt(3, i);
preparedStatement.setString(4, i%2==0?"男":"女");
preparedStatement.addBatch();
}
long start=System.currentTimeMillis();
preparedStatement.executeBatch();
long end=System.currentTimeMillis();
System.out.println(end-start);
}
}
preparedStatement.addBatch(); 将sql语句添加到批处理集合中
preparedStatement.executeBatch(); 执行批处理集合
本文介绍了一种通过在数据库连接URL中添加rewriteBatchedStatements=true参数来优化批量插入操作的方法。展示了如何使用Java JDBC进行批量插入,并提供了代码示例。通过这种方式可以显著提高插入大量数据时的效率。

750

被折叠的 条评论
为什么被折叠?



