gpt4 book ai didi

java - 在java语句中执行多个命令

转载 作者:行者123 更新时间:2023-11-30 00:24:48 24 4
gpt4 key购买 nike

尝试执行插入然后获取最后一个 id 值,但我发现 select 语句失败,但是当我将其放入 mysql 工作台时它工作正常。 java代码失败是什么原因?

import java.sql.Connection
import java.sql.DriverManager
import java.sql.SQLException
import java.sql.Statement
import java.sql.ResultSet
String url = "jdbc:mysql://localhost:3306/";
String user = "root"
String password = "password"
Connection connection = null;
try {
System.out.println("Connecting database...");
connection = DriverManager.getConnection(url,user,password);
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeUpdate("INSERT INTO table_listnames (name) VALUES ('alex'); SELECT LAST_INSERT_ID() as lastId;");
while (rs.next()) {
String lastId = rs.getString("lastId");
println(lastId)
}
println("closing now")
stmt.close()
connection.close()
} catch (SQLException e) {
throw new RuntimeException("Cannot connect the database!", e);
} finally {
System.out.println("Closing the connection.");
if (connection != null) try {
connection.close();
} catch (SQLException ignore) {}
}

最佳答案

executeUpdate 永远不会返回 ResultSet。请参阅:

int executeUpdate(String sql) throws SQLException

http://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#executeUpdate(java.lang.String)

您必须查询您的新记录。您可以尝试:getGenerateKeys

但是很久以前我使用过普通的 java.sql 我不知道我们是如何处理它的。为什么你不使用 hibernate 之类的东西。插入的实体将在交易结束后自动获取其ID集。

关于java - 在java语句中执行多个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22970314/

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