【发布时间】:2021-05-01 20:41:21
【问题描述】:
我试图从 DBeaver 中的用户表中打印出一个数据列表,但是每当我运行 Java 程序以返回一个列表时,我都会收到一条错误消息,提示找不到“userid”列名。我是否需要在我的 while 循环中更改某些内容?这是我的代码:
@Override
public List<User> findAll() {
try(Connection conn = ConnectionUtil.getConnection()) {
String sql = "SELECT * FROM user;";
Statement statement = conn.createStatement();
ResultSet result = statement.executeQuery(sql);
List<User> list = new ArrayList<>();
while (result.next()) {
User user = new User();
user.setUserId(result.getInt("userid"));
user.setUsername(result.getString("username"));
user.setPassword(result.getString("password"));
user.setFirstName(result.getString("firstname"));
user.setLastName(result.getString("lastname"));
user.setEmail(result.getString("email"));
list.add(user);
}
return list;
【问题讨论】:
-
您确定列名吗?你能分享一下表的架构吗?
-
Unrelated: "我需要改变什么吗...?" 是的,你需要同时使用
statement和result的 try-with-resources,与您对conn所做的相同。 -
@vmallet i.stack.imgur.com/Lch0N.png
标签: java while-loop resultset dbeaver