gpt4 book ai didi

java - Spring JDBC批量更新查询,无需准备语句

转载 作者:行者123 更新时间:2023-12-01 10:11:04 25 4
gpt4 key购买 nike

我有一个遗留代码,不允许我使用准备好的语句。它使用 Spring JDBC 和更新查询。要求是更新 100,000 行。我有一个 map ,其中包含行号和需要在特定列中更新的值。

这是我当前的代码:

            for(String seq: recordIdMap.keySet()){

Object[] parameters = new Object[2];
parameters[0] = seq;
parameters[1] = recordIdMap.get(seq);
//<setting the params in query using manual string replace- earlier query has (1) (2) ... in query . This is not prepared statement>
getJdbcTemplate().update(query);
}

我需要将其更改为批量执行,以便在 for 循环之后我可以在单个数据库命中中执行它。

使用 Spring JDBC 批量更新来满足此需求的最佳方法是什么?

最佳答案

我会读取所有内容并将其转换为对象数组列表,然后运行batchUpdate。

List<Object[]> params = new ArrayList<Object[]>();
for(Entry<String,String> entry : recordIdMap.entrySet())
params.add(new Object[] {entry.getKey(), entry.getValue()});

getJdbcTemplate().batchUpdate(query, params);

希望有帮助

关于java - Spring JDBC批量更新查询,无需准备语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36109955/

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