PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Classe não encontrada carregando JDBC org.postgresql.Driver


Estou trabalhando em um projeto da Web e instalei recentemente o postgres 9.1.1

...

Adicionei-o ao caminho de compilação java usando as propriedades do projeto através do eclipse.

Essa é a maneira errada. Esse JAR deve ser descartado diretamente em /WEB-INF/lib pasta do projeto web sem mexer no Caminho de construção nas propriedades do projeto. Essa pasta é parte padrão do classpath de tempo de execução do webapp.

Não relacionado para o problema concreto:você tem uma grande falha de design em seu DBConnection aula. Você declarou Connection como static o que essencialmente torna sua conexão não threadsafe . Use um pool de conexões e nunca atribua a Connection (nem Statement nem ResultSet ) como uma variável de classe/instância. Eles devem ser criados e fechados no mesmo try-finally block como onde você está executando a consulta. Além disso, você também tem um buraco de injeção de SQL. Use PreparedStatement em vez de concatenar variáveis ​​controladas pelo usuário na string SQL.

Veja também:

  • Práticas de pool de conexão JDBC MySql para evitar pool de conexão esgotado
  • Obter conexão de banco de dados de um pool de conexões
  • Estou usando o pool de conexões JDBC?