首页 > 解决方案 > SQL Anywhere 批处理操作

问题描述

我正在使用 SQL Anywhere JDBC 驱动程序执行批量插入/更新,以避免多次数据库往返以提高性能。

下面是插入的示例测试代码

    private void insertIntoOrderTable(List<Order> orderList, PreparedStatement stmt,
        long orderId) throws SQLException {
    for (Order order : orderList) {
        OrderInfoData orderData = (OrderInfoData) order.getData();
        stmt.setLong(1, orderId);
        stmt.setLong(2, orderData.getCustId());
        stmt.setString(3, orderData.getCouponCode());
        stmt.setLong(4, orderData.getProductId());
        stmt.addBatch();
    }
    stmt.executeBatch();
}

该操作主要是在表上更新或插入,在 DB 端,列类型是bigint、varchar(50)、bit、varchar(255)、long varchar、integer、double、tinyint、bigint 之一。

所以有以下查询,

谢谢

标签: javadatabasejdbcsybase

解决方案


推荐阅读