I have a List getter method that returns a ResultSet. Everytime the ResultSet loops this was added to List. But in my ActionListener I have a loop that changes the values everytime and also it gives another ResultSet. How can I avoid List to create another instance when calling the getter method?
public List <Model> get(Model model)
{
String query = "{call get(?,?,?,?)}";
List <Model> list = new ArrayList();
try(Connection con = DBUtil.getConnection(DBType.MYSQL);
CallableStatement cs = con.prepareCall(query);)
{
cs.setInt(1, model.getName());
cs.setString(2, model.getPosition());
cs.setString(3, model.getDepartment());
cs.setString(4, model.getDate());
try(ResultSet rs = cs.executeQuery())
{
while(rs.next())
{
Model m = new Model();
m.setIn(rs.getString(1));
m.setOut(rs.getString(2));
list.add(m);
}
}
}
catch(SQLException ex)
{
System.err.println("Error "+ex.getSQLState());
}
return list;
}
Calling this in action listener.
for(int i = 0; i < myList.size(); i++)
{
model.setName("Anything");
model.setPosition("Jr");
model.setDepartment("It");
model.setDate(myList.get(i));
DAO.get(model);
}
As you can see here loop gives new value everytime it loops. My problem is getter method resets to zero after executing one row at resultset loop.
get()to that list on each iteration?