Lista Nao Retorna todos os dados .. Apenas um

Estou com uma classe java que lista os dados de uma tabela do banco, em uma table no jsp.

Porem a lista esta retornando somente o ultimo registro inserido , por exemplo tenho seis registro no banco… ele esta trazendo seis informações na tabela porem tudo com o ultimo registro.

Classe DAA:
`public List listarTodos() throws PersistenciaExcpetion {

	List<Area> listaArea = new ArrayList<>();
	try {
		String sql  = "Select * from tbl_area";

		PreparedStatement preparedStatement = con.prepareStatement(sql);
		Area area = new Area();
		ResultSet resultSet =preparedStatement.executeQuery();
		while(resultSet.next()){
			area.setAreaCodigo(resultSet.getInt("areacodigo"));
			area.setAreaNome(resultSet.getString("areanome"));
			area.setAreaDescricao(resultSet.getString("areadescricao"));
			listaArea.add(area);
		}
	} catch (SQLException e) {
		e.printStackTrace();
		throw new PersistenciaExcpetion(e.getMessage(), e);
	}
	return listaArea;
}`

CLASSE BO:

public List<Area> listaTudo() throws NegocioException{ AreaDAO areaDAO = new AreaDAO(); try { return areaDAO.listarTodos(); } catch (Exception e) { e.printStackTrace(); throw new NegocioException(e.getMessage()); } }

MEU JSP:
` <%
List listaArea = (List)request.getAttribute(“lista”);
%>





	</tr>
	
	<%for(Area area : listaArea){%>
	<tr>
		<td><%=area.getAreaCodigo() %></td>
		<td><%=area.getAreaNome() %></td>
		<td><%=area.getAreaDescricao() %></td>
	</tr>
	<%} %>	
</table>`
id Descricao Descricao

Coloque a linha

dentro do seu while no método listarTodos()…

O que está acontecendo aí é que você está adicionando sempre a mesma referência na sua lista.

2 curtidas