我有一个使用JDBC与Java应用程序服务器通信的数据库服务器。我想将数据库ResultSet中的数据存储到Java变量中。
这是我的Java类HRPeople:
public class HRPeople {
public int elements;
public String[] FirstName;
public String[] LastName;
public String[] Email;
public int[] Salary;
}
我目前使用此类存储ResultSet中的数据,如下所示:
query = "SELECT first_name, last_name, email, salary FROM HR.Employees where rownum < 6";
rset = stmt.executeQuery(query);
while (rset.next()) {
returnHRdata.FirstName[ii] = rset.getString("first_name");
returnHRdata.LastName[ii] = rset.getString("last_name");
returnHRdata.Email[ii] = rset.getString("email");
returnHRdata.Salary[ii] = rset.getInt("salary");
ii = ii + 1;
}
上述情况的问题在于,原始数组要求我知道ResultSet中的行数,以便我可以正确地初始化这些数组。所以我想做的是使用ArrayList代替。我将如何修改上述方案来做到这一点?
这是我最初的尝试(此操作已关闭)吗?上面显示的HRPeople.java文件在这种情况下是否也使用?
query = "SELECT first_name, last_name, email, salary FROM HR.Employees where rownum < 6";
rset = stmt.executeQuery(query);
List returnHRdata = new ArrayList();
while (rset.next()) {
returnHRdata.FirstName = rset.getString("first_name");
returnHRdata.LastName = rset.getString("last_name");
returnHRdata.Email = rset.getString("email");
returnHRdata.Salary = rset.getInt("salary");
returnHRdata.add;
}
更新1:
如果我在代码中添加以下内容,
return returnHRdata;
我收到以下错误(为什么?):
myClass.java:213: incompatible types
found : java.util.List
required: java.util.ArrayList
return returnHRdata;
^
1 error