• Java实现批量插入


    //方法执行的开始时间

    long startTime = System.currentTimeMillis();

    Connection conn = null;

    try{

      //获取连接

      conn = getConnection();

      //设置不自动提交

      conn.setAutoCommit(false);

      //准备执行的SQL

      PreparedStatement stmt = conn.prepareStatement("INSERT INTO student_tmp VALUES (?,?,?)");

      //循环插入100万条数据

      for (int i = 0; i < 1000000; i++){

        stmt.setInt( 1,  i );

        stmt.setString( 2,  "小明" + i );

        stmt.setString( 3,  i + "班")

        if(  i/100000 == 0 ){

          //每10万条数据提交一次

          stmt.executeBatch();

          conn.commit();

        }

        //提交最后一次的数据,防止有数据未提交

        stmt.executeBatch();

        conn.commit();

    } catch (Exception e) {

      //出现异常回滚事务

      conn.rollback();

      e.printStackTrace();

    }  finnally {

      //断开连接

      conn.close();

      //方法执行的结束时间

      long endTime = System.currentTimeMillis();

      System.out.println("方法执行的时间:" + (endTime - startTime) + "ms" );

    }

          

  • 相关阅读:
    Spring Boot 使用 Dev-tool 热部署
    Spring Boot 上传文件
    Spring Boot 目录文件结构
    Spring MVC 文件上传
    Spring MVC 混合使用多种视图技术
    XmlViewResolver 和 ResourceBundleViewResolver
    XML 和 Json
    Excel 和 PDF
    04-树5 Root of AVL Tree (25 分)
    04-树4 是否同一棵二叉搜索树 (25 分)
  • 原文地址:https://www.cnblogs.com/qinjf/p/8196267.html
Copyright © 2020-2023  润新知