sql >> Databasteknik >  >> RDS >> PostgreSQL

Klassen hittades inte laddar JDBC org.postgresql.Driver

Jag arbetar med ett webbprojekt och jag installerade nyligen postgres 9.1.1

...

Jag lade till den i Java-byggvägen med hjälp av projektegenskaperna via förmörkelse.

Det är fel sätt. Den JAR måste släppas direkt i /WEB-INF/lib mapp för webbprojektet utan att pilla med byggvägen i projektets fastigheter. Den mappen är standarddel av webbappens runtime classpath.

Orelaterat till det konkreta problemet:du har ett stort designfel i din DBConnection klass. Du har deklarerat Connection som static vilket i grunden gör din anslutning inte trådsäker . Använd en anslutningspool och tilldela aldrig Connection (inte heller Statement inte heller ResultSet ) som en klass/instansvariabel. De bör skapas och stängas i samma try-finally blockera som där du kör frågan. Dessutom har du också ett SQL-injektionshål. Använd PreparedStatement istället för att sammanfoga användarkontrollerade variabler i SQL-strängen.

Se även:

  • JDBC MySql-anslutningspoolningsmetoder för att undvika uttömd anslutningspool
  • Hämta databasanslutning från en anslutningspool
  • Använder jag JDBC Connection Pooling?


  1. Hur SQLite Min() fungerar

  2. Vad gör sp_reset_connection?

  3. Hur SQLite Char() fungerar

  4. Konvertera VARCHAR2 till tal