BuscarTodos - DAO

14 respostas
R

Boa tarde, estou tentando fazer o seguinte para buscar todos os registros do banco:

public List<PojoNoticia> BuscarTodos() {
        try {
            List<PojoNoticia> noticias = null;
            String sql = "select * from noticia";
            Statement st = conn.createStatement();
            ResultSet rs = st.executeQuery(sql);

            while (rs.next()) {
                noticias.add(this.populaNoticia(rs));                
            }


            return noticias;

        } catch (SQLException ex) {
            Logger.getLogger(DaoNoticia.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }

    }

Aqui o meu método populaNoticia

private PojoNoticia populaNoticia(ResultSet rs) throws SQLException {
        PojoNoticia pojo = new PojoNoticia();
        pojo.setCod_noticia(rs.getInt("cod_noticia"));
        pojo.setTitulo(rs.getString("titulo"));
        pojo.setTexto(rs.getString("texto"));
        return pojo;
    }

debuguei o codigo e ele para exatamente nesta linha: noticias.add(this.populaNoticia(rs));

14 Respostas

M

q ero da?

M

experimente setar tudo assim

while (rs.next()) {

Pessoa pessoa = new Pessoa();

pessoa.setCodigo(rs.getInt(codigo));				

pessoa.setEndereco(rs.getString(endereco));

pessoa.setBairro(rs.getString(bairro));

pessoas.add(pessoa);

}

R

HTTP Status 500 -

type Exception report

message

descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: java.lang.NullPointerException
root cause

java.lang.NullPointerException
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.1.2 logs.

GlassFish Server Open Source Edition 3.1.2

R

Fiz do jeito que você falou michelorth_92, porém não funcionou. é como eu disse ele para bem no "noticias.add();

M

d

M

axo q seu problema ta aqui

List noticias = null;

mude para

List noticias = new ArrayList();

R

Olha a minha pagina para onde deveria retornar os dados:

<%@page import="javax.print.attribute.standard.MediaSize.Other"%>
<%@page import="java.util.List"%>
<%@page import="sgnapp.pojo.PojoNoticia"%>
<%@page import="sgnapp.dao.DaoNoticia"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Consultar Notícias</title>
    </head>
    <body>
        <h1>Lista de Notícias Cadastradas</h1>
        <table border="1">        
            <tr>
                <td>Código</td>        
                <td>Título</td>        
                <td>Texto</td>
                <td>Ação</td>       
            </tr>
            <%
                DaoNoticia daoNoticia = new DaoNoticia();
                List<PojoNoticia> noticias = daoNoticia.BuscarTodos();
                for (PojoNoticia noticia : noticias) {
                    int cod = noticia.getCod_noticia();
                    out.print("<tr>");

                    out.print("<td>");
                    out.print(noticia.getCod_noticia());
                    out.print("</td>");

                    out.print("<td>");
                    out.print(noticia.getTitulo());
                    out.print("</td>");

                    out.print("<td>");
                    out.print(noticia.getTexto());
                    out.print("</td>");
                    
                     out.print("<td>");
                    out.print("<a href='cad_noticia.jsp?cod_noticia=cod'>Editar | </a>");
                    out.print("<a href=''>Deletar</a>");
                    out.print("</td>");

                    out.print("</tr>");
                }%>


        </table>
                <hr>
                <a href="cad_noticia.jsp">NOVA NOTÍCIA</a>
    </body>
</html>
R

Obrigado michelorth_92 , era isso mesmo ! o problema tava no NULL

pmlm

Claro que dá erro:

List<PojoNoticia> noticias = null;

Se notícias é null, só pode dar NullPointerException quando tentas fazer o add.

R
&lt;%  
                DaoNoticia daoNoticia = new DaoNoticia();  
                List&lt;PojoNoticia&gt; noticias = daoNoticia.BuscarTodos();  
                for (PojoNoticia noticia : noticias) {  
                    int cod = noticia.getCod_noticia();  
                    out.print("&lt;tr&gt;");  
  
                    out.print("&lt;td&gt;");  
                    out.print(noticia.getCod_noticia());  
                    out.print("&lt;/td&gt;");  
  
                    out.print("&lt;td&gt;");  
                    out.print(noticia.getTitulo());  
                    out.print("&lt;/td&gt;");  
  
                    out.print("&lt;td&gt;");  
                    out.print(noticia.getTexto());  
                    out.print("&lt;/td&gt;");  
                      
                     out.print("&lt;td&gt;");  
                    out.print("&lt;a href='cad_noticia.jsp?cod_noticia=cod'&gt;Editar | &lt;/a&gt;");  
                    out.print("&lt;a href=''&gt;Deletar&lt;/a&gt;");  
                    out.print("&lt;/td&gt;");  
  
                    out.print("&lt;/tr&gt;");  
                }%&gt;

Tá precisando aprender JSTL hein? :wink:

R

Em que me ajudaria JSTL ? Como ficaria ?

M

coloca como resolvido ai… e como o amigo falo precisa aprender jstl…
boa sorte

flw

M

exemplo de uma listagem em jstl

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body bgcolor="#00BFFF">
<a href="pessoa.jsp">Incluir</a>
<br><br>
	<fieldset>
		<legend>Lista de Pessoas</legend>
		<table width="100%" border="1">
			<tr>
				<td>Código</td>
				<td>Nome</td>
				<td>Email</td>
				<td>Telefone</td>
				<td>Endereço</td>
				<td>Editar</td>
				<td>Remover</td>
			</tr>
			<c:forEach items="${pessoas}" var="pessoa">			
			<tr>
				<td><c:out value="${pessoa.codigo}"></c:out></td>
				<td><c:out value="${pessoa.nome}"></c:out></td>
				<td><c:out value="${pessoa.email}"></c:out></td>
				<td><c:out value="${pessoa.telefone}"></c:out></td>
				<td><c:out value="${pessoa.endereco}"></c:out></td>
				
				<td align="center"><a href="PessoaSevlet?opcao=antesupdate&codigo=<c:out value="${pessoa.codigo}"></c:out>"><img src="imagens/editar.gif"></a> </td>
				<td align="center"><a href="PessoaSevlet?opcao=excluir&codigo=<c:out value="${pessoa.codigo}"></c:out>"><img src="imagens/deletar.gif"></a> </td>
			</tr>
</c:forEach>
		</table>
	</fieldset>


</body>
</html>
R

Obrigado !

Coloque como Resolvido por favor !!

Criado 6 de junho de 2012
Ultima resposta 6 de jun. de 2012
Respostas 14
Participantes 4