Connection
を維持する 永遠に開くことは非常に悪い考えです。寿命は無限ではありません。DBが接続をタイムアウトして閉じるたびに、アプリケーションがクラッシュする可能性があります。ベストプラクティスは、およびを取得することです Connection
を閉じる 、Statement
およびResultSet
最短で リークとタイムアウトによって引き起こされるリソースリークと潜在的なアプリケーションクラッシュを回避するための可能な範囲。
DBの接続はコストのかかる作業であるため、接続パフォーマンスを向上させるために接続プールの使用を検討する必要があります。適切なアプリケーションサーバー/servletcontainerは通常、JNDI DataSource
のフレーバーで接続プール機能をすでに提供しています。 。作成方法の詳細については、ドキュメントを参照してください。たとえばTomcatの場合は、ここで見つけることができます。
接続プールを使用する場合でも、適切なJDBCコードを作成する必要があります。およびを取得します。 可能な限り短いスコープですべてのリソースを閉じます。接続プールは、実際に接続を閉じるか、さらに再利用するために接続をプールに解放することを心配します。
この記事から、JDBCの基本を適切な方法で実行する方法についてさらに多くの洞察を得ることができます。まったく異なる代替手段として、EJBとJPAを学びます。すべてのJDBCボイラープレートをワンライナーに抽象化します。
これがお役に立てば幸いです。
関連項目:
- マルチスレッドシステムで静的java.sql.Connectionインスタンスを使用しても安全ですか?
- JDBC接続プールを使用していますか?
- サーブレットベースのアプリケーションでJDBCデータベース/データソースに接続するにはどうすればよいですか?
- Spring、EJB3、またはそれらすべてを一緒に使用する必要がある、または便利なのはいつですか?