Problemas com classe simples que usa JDBC

3 respostas
N

Estou tendo problemas com uma classe simples de conexão com um banco de dados no Postgres, estou usando o postgres 8.3,
e tenho a seguinte classe:

package Exercicio1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class RepositorioCliente {
	
	static final String JDBC_DRIVER = "org.postgresql.Driver";
	static final String DATABASE_URL = "jdbc:postgresql://localhost:5432/Exercicio1";
	private Connection connection;
	private Statement statement;
	private ResultSet resultSet;
	
	
	public RepositorioCliente() {
		try {
			Class.forName(JDBC_DRIVER);
			connection = DriverManager.getConnection(DATABASE_URL, "postgres", "postgres");
			statement = connection.createStatement();
		}
		catch(SQLException e) {
			e.printStackTrace();
		}
		catch(ClassNotFoundException e) {
			e.printStackTrace();
		}
		finally {
			try {
			statement.close();
			connection.close();
			}
			catch(SQLException e) {
				e.printStackTrace();
			}
		}
	}
	
	
	public void add(Cliente c) throws SQLException {
		statement.executeUpdate("insert into tbendereco(rua, numero, complemento," +
				"bairro, cep, estado) values("
				+c.getEndereco().getRua()+", "
				+c.getEndereco().getNumero()+", "
				+c.getEndereco().getComplemento()+", "
				+c.getEndereco().getBairro()+", "
				+c.getEndereco().getCep()+", "
				+c.getEndereco().getEstado()+")");
		statement.executeUpdate("insert into tbcliente(nome, telefone, cpf, cep_endereco)" +
				"values("
				+c.getNome()+", "
				+c.getTelefone()+", "
				+c.getCpf()+", "
				+c.getEndereco().getCep()+")");
		statement.executeUpdate("insert into tbhistorico(cpf_cliente, acao)" +
				"values("
				+c.getCpf()+", "
				+"Adicionar cliente)");
	}
	
	public Cliente get(int cpf) throws SQLException {
		resultSet = statement.executeQuery("select *.* from tbcliente where cpf = "+cpf);
		while(resultSet.next()) {
			System.out.println(resultSet.getString(1));
		}
		return null;
	}
	
	

	
}

Quando tento adicionar um cliente por exemplo ele retorna ClassNotFoundException
na linha:

Class.forName(JDBC_DRIVER);

Sou iniciante tanto em JDBC como em Postgres, não sei se tem algo errado com o jdbc_driver.

vlw desde ja!

3 Respostas

laudenpower

Pode ser uma pergunta boba… mas você adicionou o driver do banco ao projeto?

D

Digite dentro do parêntese connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResutSet.CONCUR_READ_ONLY)

com isso você permite que o statement navegue por todos os lados em uma tabela…

N

Era o driver mesmo que estava faltando
vlw! :wink:

Criado 23 de março de 2009
Ultima resposta 25 de mar. de 2009
Respostas 3
Participantes 3