JDBC:批量插入

发布于:2023-01-16 ⋅ 阅读:(526) ⋅ 点赞:(0)

批量插入方式一:

  1. 获取连接、返回PreparedStatement实例
  2. 写sql插入语句
    String sql = “insert into goods(name)values(?)”;
  3. 使用for循环插入指定数量的数据
    for (int i = 0; i < 20000; i++) {
    ps.setObject(1, “name” + i);
    ps.execute();
    }
  4. 关闭资源
    代码示例:

批量插入方式二:
使用addBatch()/executeBatch()/clearBatch()方法

  1. addBatch(String):添加需要批量处理的sql语句

  2. executeBatch():执行批量处理语句

  3. clearBatch():清空缓存的数据

  4. 获取连接、返回PreparedStatement实例

  5. 写sql插入语句

  6. 使用for循环插入指定数量的数据,并添加需要批量处理的sql语句
    for (int i = 0; i < 10000; i++) {
    ps.setObject(1, “name” + i);
    //1.暂 sql
    ps.addBatch();
    if (i % 500 == 0) {
    //2.执行
    ps.executeBatch();

     //3.清空batch
     ps.clearBatch();
    

    }
    }

  7. 关闭资源
    代码示例:
    在这里插入图片描述

批量插入方式三:设置连接不允许自动提交数据

  1. 获取连接、设置不允许自动提交数据,写sql插入语句、返回返回PreparedStatement实例
    conn = JdbcUtils.getConnection();
    //设置不运行自动提交数据
    conn.setAutoCommit(false);
    String sql = “insert into goods(name) values (?)”;
    ps = conn.prepareStatement(sql);
  2. 使用for循环及addBatch()…执行数据
  3. 关闭资源
    代码示例:
    [图片]

【注】:随着方式的迭代,会提供批量处理JDBC语句的处理速度


网站公告

今日签到

点亮在社区的每一天
去签到