Resolvido, minha conexão estava errada, só efetuei a seguinte alteração.
private Connection getConnection() throws SQLException {
DriverManager.registerDriver(new org.postgresql.Driver());
Connection conn = DriverManager.getConnection(url,usuario,senha);
return conn;
}
Bom dia galera,
Estou com problema em retornar uma consulta através do Postgres.
Estou desenvolvendo uma aplicação em 3 camadas, faço uma consulta no postgres e simplesmente não me retorna nada, acredito que seja a conexão. Revirei a net buscando algo que possa e ajudar e não encontrei nada. Tenho dificuldade de explicar escrevendo rs, portanto segue o código para que possam me ajudar.
package erp.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import erp.model.*;
public class ClienteDao {
String url = "jdbc:postgresql://yokohama:3306/km";
String usuario = "postgres";
String senha = "minhasenha";
private Connection getConnection() throws SQLException {
try {
Class.forName("org.postgresql.Driver");
} catch (Exception e) {
e.printStackTrace();
}
Connection conn;
conn = DriverManager.getConnection(url, usuario, senha);
return conn;
}
private Cliente ConverterResultSetParaCliente(ResultSet resultadoCliente)
throws SQLException {
Cliente retorno = new Cliente();
retorno.setId_cliente(resultadoCliente.getInt("id_vendedor"));
retorno.setNome_fantasia(resultadoCliente.getString("nome_fantasia"));
return retorno;
}
public List<Cliente> obterClientes() throws SQLException {
List<Cliente> clientes = new ArrayList<Cliente>();
Connection conn = null;
try {
conn = this.getConnection();
Statement statement = conn.createStatement();
ResultSet resultadoCliente = statement
.executeQuery("select * from clientes");
while (resultadoCliente.next()) {
Cliente cliente = ConverterResultSetParaCliente(resultadoCliente);
clientes.add(cliente);
}
return clientes;
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (Exception e) {
// do nothing
}
}
}
}
package erp.controller;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import erp.dao.ClienteDao;
import erp.model.Cliente;
/**
* Servlet implementation class ListaClientesServlet
*/
@WebServlet("/ListaClientesServlet")
public class ListaClientesServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<String> erros = new ArrayList<String>();
try{
ClienteDao clienteDao = new ClienteDao();
List<Cliente> clientes = clienteDao.obterClientes();
request.setAttribute("clientes", clientes);
getServletContext().getRequestDispatcher("/clientes.jsp").forward(request, response);
}catch(SQLException e){
erros.add("Erro ao buscar clientes!");
request.setAttribute("erros", erros);
getServletContext().getRequestDispatcher("/home.jsp").forward(request, response);
}
}
}
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.*"%>
<%@ page import="erp.model.*"%>
<!-- Diretiva TagLib -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>ERP - clientes</title>
<jsp:include page="chamadaBibliotecas.jsp" />
</head>
<body>
<jsp:include page="cabecalho.jsp" />
<!-- class="container_12" -->
<div class="container_12">
<!-- class="module" -->
<div class="module">
<h2>
<span>clientes</span>
</h2>
<div class="module-table-body">
<form id="frm_clientes" action="">
<table id="myTable" class="tablesorter">
<thead>
<tr>
<th class="header">id</th>
<th class="header">nome fantasia</th>
<th class="header">telefone</th>
<th class="header">e-mail</th>
<th class="align-center">ações</th>
</tr>
</thead>
<tbody>
<c:forEach var="cliente" items="${clientes}">
<tr class="even">
<td class="align-center"></td>
<td><a href="">${cliente.nome_fantasia}</a></td>
<td></td>
<td></td>
<td class="align-center">
<a href=""><img width="16" height="16" alt="edit" src="images/pencil.gif" title="editar"/></a>
<a href=""><img width="16" height="16" alt="edit" src="images/cross-on-white.gif" title="excluir"/></a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</form>
</div>
</div>
</div>
</body>
</html>