JDBC를 사용하여 Java 응용 프로그램 서버와 통신하는 데이터베이스 서버가 있습니다. 데이터베이스 ResultSet의 데이터를 Java 변수에 저장하려고합니다.초보자가 Java ArrayList를 사용하여 데이터베이스에서 가져온 ResultSet을 저장하려고 시도했습니다.
여기, 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;
}
UPDATE 1 :
내가 코드 다음에 추가하는 경우,
return returnHRdata;
내가받을 다음과 같은 오류 (왜 어떤 생각?) :
myClass.java:213: incompatible types
found : java.util.List<HRPerson>
required: java.util.ArrayList<HRPerson>
return returnHRdata;
^
1 error
최대 급여는 2,147,483,647 달러입니까?! – BigOmega
@ 라이언 실제로 최대 2,147,483,647 통화 단위입니다. 한국에서는 2 백만 달러에 불과합니다! – assylias
@assylias oh snap! 초 인플레이션을 위해 더 잘 최적화 됨 – BigOmega