gpt4 book ai didi

java - updateCount() 和 executeUpdate() 是否返回相同的东西

转载 作者:可可西里 更新时间:2023-11-01 08:03:37 25 4
gpt4 key购买 nike

String query="UPDATE table_name SET tab_attr1= ? WHERE tab_attr2= ?";
PreparedStatement preparedStatement=connection.prepareStatement(query);
preparedStatement.setString(1,"test1");
preparedStatement.setString(2,"test2");
//case_1
int count=preparedStatement.executeUpdate();

/*
case_2
preparedStatement.execute();
int count=preparedStatement.getUpdateCount();
*/

我是这个领域的新手,是一名 Java 开发人员

在我的测试用例中都返回同样的东西 所以我的问题是两者之间是否有任何区别 如果没有差异,那么这两种功能的需求是什么。 2种情况有什么区别..?

最佳答案

来自文档:

PreparedStatement.html#executeUpdate()

Executes the SQL statement in this PreparedStatement object, which must be an SQL Data Manipulation Language (DML) statement, such as INSERT, UPDATE or DELETE; or an SQL statement that returns nothing, such as a DDL statement.

Returns: either (1) the row count for SQL Data Manipulation Language (DML) statements or (2) 0 for SQL statements that return nothing

所以基本上:

  • executeUpdate() 用于 SQL INSERT、UPDATE、DELETE 或 DLL 语句。
  • execute() 可用于任何 SQL 语句,之后您将调用getUpdateCount()

由于您使用的是 UPDATE,因此在您的情况下并不重要。应该没有区别。

关于java - updateCount() 和 executeUpdate() 是否返回相同的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40766426/

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