Olá pessoal, por favor preciso de ajuda. Sou novato e preciso enviar os dados da consulta da minha DAO para minha página JSP.
Essa é minha DAO.
package dao.implem;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import model.DomainObject;
import model.Empresa;
/**
*
* @author Sérgio
*/
public class EmpresaDAO extends AbstractDAO {
public EmpresaDAO() {
conectar();
}
@Override
public void inserir(DomainObject obj) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void alterar(DomainObject obj) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void deletar(DomainObject obj) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public List<DomainObject> consultar(DomainObject obj) {
Empresa empresa = (Empresa) obj;
String sql = "SELECT ID, RAZAO_SOCIAL FROM EMPRESA";
if (empresa == null) {
return executar(sql);
} else if (empresa != null && empresa.getId() != 0 && empresa.getRazao_social() == null) {
return consultar(empresa.getId());
} else if (empresa != null && empresa.getId() != 0 && empresa.getRazao_social() == null) {
return consultar(empresa.getId(), empresa.getRazao_social());
} else {
return consultar(empresa.getRazao_social());
}
}
private List<DomainObject> consultar(int id) {
String sql = "SELECT ID_EMPRESA, RAZAO_SOCIAL FROM EMPRESA WHERE ID_EMPRESA=" + id;
return executar(sql);
}
private List<DomainObject> consultar(String razao_social) {
String sql = "SELECT ID_EMPRESA, RAZAO_SOCIAL FROM EMPRESA WHERE RAZAO_SOCIAL LIKE '%" + razao_social + "%'";
return executar(sql);
}
private List<DomainObject> consultar(int id, String razao_social) {
String sql = "SELECT ID_EMPRESA, RAZAO_SOCIAL FROM EMPRESA WHERE ID_EMPRESA=" + id
+ "AND RAZAO_SOCIAL LIKE '%" + razao_social + "%'";
return executar(sql);
}
List<DomainObject> executar(String sql) {
PreparedStatement pstmt;
List<DomainObject> listaEmpresa = null;
try {
pstmt = conexao.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
listaEmpresa = new ArrayList<DomainObject>();
while (rs.next()) {
Empresa empresa = new Empresa();
empresa.setId(rs.getInt(1));
empresa.setRazao_social(rs.getString(2));
listaEmpresa.add(empresa);
}
} catch (SQLException e) {
System.out.println("Erro na conexão" + e);
}
return listaEmpresa;
}
}
Minha Classe abstrata
package dao.implem;
import dao.IDAO;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author Sérgio
*/
public abstract class AbstractDAO implements IDAO {
private final String URL = "jdbc:mysql://localhost:3306/vagas";
private final String DRIVER = "com.mysql.jdbc.Driver";
private final String USER = "usuario";
private final String PASS = "senha";
protected Connection conexao;
protected void conectar() {
try {
Class.forName(DRIVER);
System.out.println("Driver carregado com sucesso");
conexao = DriverManager.getConnection(URL, USER, PASS);
} catch (ClassNotFoundException erro_driver) {
System.out.println("Erro ao carregar driver " + erro_driver);
} catch (SQLException erro_sql) {
System.out.println("Erro na conexão " + erro_sql);
}
}
}
Interface da classe Abstrata
package dao;
import java.util.List;
import model.DomainObject;
/**
*
* @author Sérgio
*/
public interface IDAO {
public void inserir(DomainObject obj);
public void alterar(DomainObject obj);
public void deletar(DomainObject obj);
public List<DomainObject> consultar(DomainObject obj);
}
e por fim a JSP, segue o que eu estou tentando fazer:
<body>
<%
EmpresaDAO empresaDAO = new EmpresaDAO();
ArrayList<DomainObject> lista_id = new ArrayList();
lista_id = empresaDAO.consultar(obj);
for (DomainObject d: lista_id) {
%>
<div id="formulario_vaga">
<div>
<span>
<h1>Resultado da Consulta de Empresa</h1>
<h1><%= ((Empresa)d).getRazao_social() %></h1>
<% }%>
</span>
</div> ......
O NetBeans só aponta erro na JSP no parametro obj do método consultar na empresaDAO, o que poderia ser?