gpt4 book ai didi

java - 在循环内创建准备好的语句

转载 作者:搜寻专家 更新时间:2023-10-31 08:23:38 24 4
gpt4 key购买 nike

澄清一下:我知道在循环外创建 PreparedStatement 是正确的做法。出于好奇,我问了这个问题。


假设我正在创建一个 PreparedStatement在始终具有相同 SQL 查询的循环中。

final String sql = "INSERT INTO ...";
while (condition) {
...
PreparedStatement statement = connection.prepareStatement(sql);
// Fill values of the prepared statement
// Execute statement
...
}

因为 PreparedStatement 对象总是被重新创建,所以这是无用的吗?或者底层数据库是否认识到它始终是创建 PreparedStatement 所用的相同 SQL 查询并重用它?

最佳答案

1. 如果您在整个循环中使用相同 PreparedStatement,那么最好保留 PreparedStatement 在循环之外

2.如果您有在循环内不断变化的sql语句,那么只有在循环中才值得使用它。

3. 此外,如果它不断变化,则只需使用 Statement 而不是 PreparedStatement,否则非常PreparedStatement 的目的会随着您不断更改而丢失。

关于java - 在循环内创建准备好的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11971635/

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