PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Classe introuvable lors du chargement de JDBC org.postgresql.Driver

Je travaille sur un projet Web et j'ai récemment installé postgres 9.1.1

...

Je l'ai ajouté au chemin de construction Java en utilisant les propriétés du projet via éclipse.

C'est la mauvaise façon. Ce JAR doit être déposé directement dans /WEB-INF/lib dossier du projet Web sans jouer avec le Build Path dans les propriétés du projet. Ce dossier fait partie standard du chemin de classe d'exécution de l'application Web.

Non lié au problème concret :vous avez un défaut de conception majeur dans votre DBConnection classe. Vous avez déclaré Connection comme static ce qui rend essentiellement votre connexion non thread-safe . Utilisez un pool de connexions et n'attribuez jamais la Connection (ni Statement ni ResultSet ) en tant que variable de classe/d'instance. Ils doivent être créés et fermés dans le même try-finally bloc comme là où vous exécutez la requête. De plus, vous avez là aussi un trou d'injection SQL. Utilisez PreparedStatement au lieu de concaténer des variables contrôlées par l'utilisateur dans la chaîne SQL.

Voir aussi :

  • Pratiques de regroupement de connexions JDBC MySql pour éviter l'épuisement du pool de connexions
  • Obtenir une connexion à la base de données à partir d'un pool de connexions
  • Est-ce que j'utilise le regroupement de connexions JDBC ?