gpt4 book ai didi

java - jdbcTemplate 批量执行多条sql语句

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:05:46 25 4
gpt4 key购买 nike

我正在为我的 DAO 层使用 Spring jdbcTemplate。我至少有两个 sql 语句,我想在单个查询中执行一次以访问数据库:

String INSERT_SQL = "INSERT INTO \"ADDRESS\" (id_registred_user, "
+ "address, "
+ "city, "
+ "region, "
+ "country) "
+ "VALUES (?, ?, ?, ?, ?)";

String UPDATE_SQL = "UPDATE \"REGISTRED_USER\" SET id_address = ? "
+ "WHERE id_registred_user = ?";

现在我在@Transactional 中这样做:

jdbcTemplate.update(INSERT_SQL, args...);
jdbcTemplate.update(UPDATE_SQL, args...);

我知道在简单的 jdbc 中有一个 addBatch() 方法,但是我如何使用 jdbcTemplate 在单个批处理中执行这两个 sql 语句? jdbcTemplate 中是否有等效的 addBatch()?

提前致谢。

最佳答案

您可以连接两个查询并添加 ; 作为分隔符,但这不会使这些查询“原子化”。换句话说,它们不会像你想象的那样一次执行,而是一个接一个地执行,就像你将2个模板一个一个执行一样——这里没有区别。

为了保证操作的原子性,你必须使用事务。事务可以使查询所做的所有更改在事务提交时立即应用。

关于java - jdbcTemplate 批量执行多条sql语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40504655/

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