bulk insert from Java into Oracle

前端 未结 4 1222
悲&欢浪女
悲&欢浪女 2020-12-06 10:40

I need to insert many small rows rapidly into Oracle. (5 fields).

With MySQL, I break the inserts into groups of 100, then use one insert statement for every group o

4条回答
  •  挽巷
    挽巷 (楼主)
    2020-12-06 10:58

    You can use Spring's DAO module to batch insert many rows.

    An example that inserts a collection of Order objects into the database in one update:

    public class OrderRepositoryImpl extends SimpleJdbcDaoSupport implements
            OrderRepository {
    
        private final String saveSql = "INSERT INTO orders(userid, username, coffee, coffeename, amount) "
                + "VALUES(?, ?, ?, ?, ?)";
    
        public void saveOrders(final Collection orders) {
            List ordersArgumentList = new ArrayList(orders
                    .size());
    
            Object[] orderArguments;
            for (Order order : orders) {
                orderArguments = new Object[] { order.getUserId(),
                        order.getUserName(), order.getCoffe(),
                        order.getCoffeeName(), order.getAmount() };
    
                ordersArgumentList.add(orderArguments);
            }
    
            getSimpleJdbcTemplate().batchUpdate(saveSql, ordersArgumentList);
        }
    }
    

提交回复
热议问题