Zachování Connection
otevřít navždy je velmi špatný nápad. Nemá nekonečnou životnost, vaše aplikace může spadnout, kdykoli DB vyprší časový limit připojení a zavře jej. Nejlepším postupem je získat a zavřete Connection
, Statement
a ResultSet
v nejkratším možný rozsah, abyste se vyhnuli únikům prostředků a potenciálním selháním aplikací způsobeným úniky a časovými limity.
Protože připojení DB je nákladný úkol, měli byste zvážit použití fondu připojení ke zlepšení výkonu připojení. Slušný applicationserver/servletcontainer již obvykle poskytuje funkci fondu připojení v podobě JNDI DataSource
. Podrobnosti, jak jej vytvořit, najdete v jeho dokumentaci. V případě například Tomcat jej najdete zde.
I když používáte fond připojení, stále musíte napsat správný kód JDBC:získat and uzavřít všechny zdroje v co nejkratším možném rozsahu. Fond připojení se bude na svém tahu starat o to, zda připojení skutečně uzavře nebo jej pouze uvolní zpět do fondu pro další opětovné použití.
V tomto článku můžete získat další informace o tom, jak správně provést základy JDBC. Jako úplně jinou alternativu se naučte EJB a JPA. Abstrahuje pro vás všechny standardy JDBC do jednotlivých vložek.
Doufám, že to pomůže.
Viz také:
- Je bezpečné používat statickou instanci java.sql.Connection ve vícevláknovém systému?
- Používám sdružování připojení JDBC?
- Jak se mám připojit k databázi/zdroji dat JDBC v aplikaci založené na servletech?
- Kdy je nutné nebo vhodné použít Spring nebo EJB3 nebo všechny dohromady?