package UnitTest; import java.sql.*; public class OpenGaussWriteShiWu_JDBC { // JDBC连接参数 private static final String DB_DRIVER = "org.postgresql.Driver"; private static final String DB_CONNECTION = "jdbc:postgresql://10.10.14.63:15400/test_db"; private static final String DB_USER = "postgres"; private static final String DB_PASSWORD = "DsideaL147258369"; // 批量插入数据 public static void batchInsertData() { // JDBC连接对象 Connection conn = null; // JDBC执行语句对象 Statement stmt = null; try { // 加载JDBC驱动程序 Class.forName(DB_DRIVER); // 获取JDBC连接对象 conn = DriverManager.getConnection(DB_CONNECTION, DB_USER, DB_PASSWORD); // 设置事务自动提交为false conn.setAutoCommit(false); // 获取JDBC执行语句对象 stmt = conn.createStatement(); // 批量插入数据的SQL语句 String sql = "INSERT INTO test(id, txt) VALUES (?, ?)"; // 预编译SQL语句并添加批量操作数据 long start = System.currentTimeMillis(); int cnt=0; for (int k = 1; k <= 10; k++) { PreparedStatement pstmt = conn.prepareStatement(sql); for (int i = 1; i <= 10000; i++) { cnt++; pstmt.setInt(1, cnt); pstmt.setString(2, "黄海_" + i); pstmt.addBatch(); } // 执行批量插入操作 pstmt.executeBatch(); // 提交事务 conn.commit(); } long end = System.currentTimeMillis(); long elapsed = end - start; System.out.println("程序耗时:" + elapsed + " 毫秒"); } catch (SQLException | ClassNotFoundException e) { e.printStackTrace(); try { conn.rollback(); } catch (SQLException ex) { ex.printStackTrace(); } } finally { try { if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException ex) { ex.printStackTrace(); } } } public static void main(String[] args) { batchInsertData(); } }