java public class InsertData { private static final String TABLE_NAME = "mode"; private static final String TASK

动态 未结 0 70
小小草
小小草 LV1 2023年9月23日 23:40 发表
好的,以下是修改后的代码: public class InsertData { private static final String TABLE_NAME = "mode"; private static final String TASK_ID_PREFIX = "U00000000430138013002023032809110096f5bb04e024"; private static final String TRANS_NO = "2E2023021500021858031"; private static final String BANK_NO = "ZJRCU"; private static final String SYSTEM_NO = "JZZY1"; private static final int THREAD_COUNT = 10; public static void main(String[] args) { // 数据库连接池 DataSource dataSource = DruidDataSourceFactory.createDataSource(getProperty()); ExecutorService executorService = Executors.newFixedThreadPool(THREAD_COUNT); for (int i = 0; i < THREAD_COUNT; i++) { executorService.execute(() -> { try (Connection conn = dataSource.getConnection()) { insertData(conn, i); } catch (SQLException e) { e.printStackTrace(); } }); } executorService.shutdown(); } private static void insertData(Connection conn, int threadNo) throws SQLException { PreparedStatement ps = conn.prepareStatement("INSERT INTO " + TABLE_NAME + " VALUES(?, ?, ?, ?, ?)"); Set taskIdSet = new HashSet<>(); while(taskIdSet.size() < 100000){ StringBuilder sb = new StringBuilder(TASK_ID_PREFIX); for(int i=0; i<24; i++){ if(i == 21){ // 跳过原序列号位置 continue; } int randomNum = (int)(Math.random() * 16); char hexChar = Character.forDigit(randomNum, 16); sb.setCharAt(i, hexChar); } String taskId = sb.toString(); taskIdSet.add(taskId); int taskState; if (taskIdSet.size() % 10 < 2) taskState = 1; // 10%的数据taskState为1 else if (taskIdSet.size() % 10 < 4) taskState = 3; // 20%的数据taskState为3 else if (taskIdSet.size() % 10 < 6) taskState = 5; // 30%的数据taskState为5 else if (taskIdSet.size() %
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复