Jeg arbejder på et webprojekt og jeg har for nylig installeret postgres 9.1.1
...
Jeg føjede det til java build-stien ved hjælp af projektegenskaberne via formørkelse.
Det er den forkerte vej. Den JAR skal slippes direkte i /WEB-INF/lib
mappe i webprojektet uden at rode med Bygstien i projektets ejendomme. Denne mappe er standard del af webapp's runtime classpath.
Ikke-relateret til det konkrete problem:du har en stor designfejl i din DBConnection
klasse. Du har erklæret Connection
som static
hvilket i bund og grund gør din forbindelse ikke trådsikker . Brug en forbindelsespulje og tildel aldrig Connection
(heller ikke Statement
heller ikke ResultSet
) som en klasse/instansvariabel. De skal oprettes og lukkes i den samme try-finally
blokere som hvor du udfører forespørgslen. Yderligere har du også et SQL-injektionshul. Brug PreparedStatement
i stedet for at sammenkæde brugerkontrollerede variabler i SQL-strengen.
Se også:
- JDBC MySql-forbindelsespooling-praksis for at undgå opbrugt forbindelsespulje
- Få databaseforbindelse fra en forbindelsespulje
- Bruger jeg JDBC Connection Pooling?