0

我有两张桌子:

CREATE TABLE transaction (
  id bigserial PRIMARY KEY,
  transactiondataid bigint,
  baseamount integer,
  pricelistamount integer,
  trxamount integer,
  ...
);

CREATE TABLE transactiondata (
  id bigserial PRIMARY KEY,
  productname character varying(255),
  ...
);

transaction参考transactiondata为 1:1 关系。

如何进行批量插入并在批量中正确设置transactiondataidof transaction?有可能吗?

如果由于 dbutils 而无法实现,那么可以使用 simplePreparedStatement吗?

目前,我必须遵循单个插入,它有效:

    QueryRunner queryRunner = new QueryRunner([getDatasource()]);
    Long id = queryRunner.insert("insert into transactiondata (accountgroupname) values(?)", new ScalarHandler<Long>(), "Cola");
    queryRunner.insert("insert into transaction (baseamount, transactiondataid) values(?, ?)", new ScalarHandler<Long>(), 10, id);

但由于我需要插入数百万条记录,我需要做一些批处理......

4

0 回答 0