gpt4 book ai didi

java - JDBC准备好的语句/引用另一个准备好的语句中的准备好的语句

转载 作者:行者123 更新时间:2023-11-29 21:05:18 25 4
gpt4 key购买 nike

我是 JDBC 新手,对语法有点困惑。假设我想创建多个查询(或 SQL 中的 View )并引用一个 View 来进行后续查询,我该如何使用准备好的语句来做到这一点?

例如:

PreparedStatement first = conn.PreparedStatement("SELECT * FROM clients);
first.execute()

问题现在我可以在下面要创建的查询中传递“PreparedStatement”引用“first”吗?

PreparedStatement second = conn.PreparedStatement("SELECT * FROM first WHERE age > 10);

最佳答案

最简单的 JDBC 模式是:

try (PreparedStatement first = conn.prepareStatement(
"SELECT * FROM clients WHERE age BETWEEN ? AND ?")) {
first.setInt(1, 80);
first.setInt(2, 140);
try (ResultSet rs = first.executeQuery()) {
while (rs.next()) {
int age = rs.getInt("age");
...
}
}
}

此语法:try-with-resources 会关闭 firstrs,即使您返回或引发异常。

声明:第一和第二是完全独立的。

不需要在整个数据库 session 中保持准备好的语句打开。

执行最好由 SELECT 的 executeQuery 和 UPDATE/INSERT 的 executeUpdate 触发,其中不会产生 ResultSet。

关于java - JDBC准备好的语句/引用另一个准备好的语句中的准备好的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36869368/

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