gpt4 book ai didi

java - 如何将一组值绑定(bind)到 jOOQ 批量插入

转载 作者:行者123 更新时间:2023-11-30 06:12:26 26 4
gpt4 key购买 nike

我有一个对象集合,我想将其作为批处理插入。一开始我想到了“for 循环”,但后来我突然意识到这应该可以用流来实现。

BatchBindStep userLoginBatch = create
.batch(
create.insertInto(USERLOGIN, USERLOGIN.USERNAME, USERLOGIN.IP, USERLOGIN.MAC, USERLOGIN.LOGIN, USERLOGIN.STATUS, USERLOGIN.APPLICATION, USERLOGIN.ENTERTAINMENT_CREDENTIALS_ID, USERLOGIN.VERSION)
.values(null, null, null, (Timestamp) null, null, null, (Integer) null, null)
);

userLoginsToPersist
.stream()
.map(login ->
Arrays.asList(login.getUsername(), login.getIp(), login.getMac(), login.getLogin(), login.getStatus(), login.getApplication(), login.getEntertainmentCredentialsId(), login.getVersion())
).reduce(userLoginBatch, (a, b) -> a.bind(b));
userLoginBatch.execute();

这就是我目前拥有的,它提示我不能减少那个对象......

最佳答案

您需要使用 reduce(U identity, BiFunction<U,? super T,U> accumulator, BinaryOperator<U> combiner) :

userLoginsToPersist
.stream()
.map(login ->
Arrays.asList(login.getUsername(), login.getIp(), login.getMac(), login.getLogin(), login.getStatus(), login.getApplication(), login.getEntertainmentCredentialsId(), login.getVersion())
).reduce(userLoginBatch, (b, v) -> b.bind(v), (b1, b2) -> b1)
.execute();

关于java - 如何将一组值绑定(bind)到 jOOQ 批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32888818/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com