/* package com.ruoyi.web.Utils; import com.ruoyi.system.domain.cost; import com.ruoyi.system.domain.material; import javax.swing.*; import java.sql.*; import java.util.List; public class batchInsert extends JFrame { public static Connection conn; public static Statement stm; public static PreparedStatement stmt; public static ResultSet rs; */ /** * 对数据库进行批量插入数据操作 执行次数100万 *//* public static void insertMaterialBatch(List list) throws Exception { // 思路:将100万条数据分成n等份,1等份为1000条数据 // 如何实现? // 1、必须将Connection接口的自动提交方式改为手动 // 2、利用Statement接口中的如下三个方法:addBatch、clearBath、executeBatch conn = DataDBUtils.getConnection(); conn.setAutoCommit(false); */ /*stmt = conn.prepareStatement( "insert into [dbo].[sapcontract_test](uid,bh,type,custom,salesman,project,htje,startdate,enddate,remark,htzt) values (?,?,?,?,?,?,?,?,?,?,?)");*//* stmt = conn.prepareStatement( "insert into c_material(material_id, material_xingh, material_guig, material_diany, material_dw,material_type_id) values (?,?,?,?,?,?)"); int count = 0; System.err.println("Start"); for (material pay : list) { count++; stmt.setInt(1, pay.getMaterial_id()); stmt.setString(2, pay.getMaterial_xingh()); stmt.setString(3, pay.getMaterial_guig()); stmt.setString(4, pay.getMaterial_diany()); stmt.setString(5, pay.getMaterial_dw()); stmt.setString(6, pay.getMaterial_type_id()); stmt.addBatch(); if (count % 5000 == 0) {// 当增加了500个批处理的时候再提交 stmt.executeBatch();// 执行批处理 conn.commit(); } } stmt.executeBatch();// 执行批处理 conn.commit(); close(); // 关闭资源 } */ /** * 对数据库进行批量插入数据操作 执行次数100万 *//* public static void insertCostBatch(List list) throws Exception { // 思路:将100万条数据分成n等份,1等份为1000条数据 // 如何实现? // 1、必须将Connection接口的自动提交方式改为手动 // 2、利用Statement接口中的如下三个方法:addBatch、clearBath、executeBatch conn = DataDBUtils.getConnection(); conn.setAutoCommit(false); */ /*stmt = conn.prepareStatement( "insert into [dbo].[sapcontract_test](uid,bh,type,custom,salesman,project,htje,startdate,enddate,remark,htzt) values (?,?,?,?,?,?,?,?,?,?,?)");*//* stmt = conn.prepareStatement( "insert into c_material_cost(cost_id, cost_material_id, cost_cl_id, cost_cl_qty, cost_cl_qty_2) values (?,?,?,?,?)"); int count = 0; System.err.println("Start"); for (cost pay : list) { count++; stmt.setInt(1, pay.getCost_id()); stmt.setInt(2, pay.getCost_material_id()); stmt.setString(3, pay.getCost_cl_id()); stmt.setString(4, pay.getCost_cl_qty()); stmt.setString(5, pay.getCost_cl_qty_2()); stmt.addBatch(); if (count % 5000 == 0) {// 当增加了500个批处理的时候再提交 stmt.executeBatch();// 执行批处理 conn.commit(); } } stmt.executeBatch();// 执行批处理 conn.commit(); close(); // 关闭资源 } public static void close() { try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (stm != null) stm.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } */