У меня есть сервер базы данных, взаимодействующий с сервером приложений Java с помощью JDBC.Я хочу хранить данные из базы данных 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<HRPeople> returnHRdata = new ArrayList<HRPeople>();
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;
Iполучить следующую ошибку (есть идеи почему?):
myClass.java:213: incompatible types
found : java.util.List<HRPerson>
required: java.util.ArrayList<HRPerson>
return returnHRdata;
^
1 error