ホームページ  >  記事  >  Java  >  Java 開発: データベース接続とリソース管理に JNDI を使用する方法

Java 開発: データベース接続とリソース管理に JNDI を使用する方法

PHPz
PHPzオリジナル
2023-09-20 10:10:58901ブラウズ

Java 開発: データベース接続とリソース管理に JNDI を使用する方法

Java 開発: データベース接続とリソース管理に JNDI を使用する

Java 開発では、JNDI (Java Naming and Directory Interface) が標準 API です。ディレクトリサービス。ネーミングサービスへのアクセスだけでなく、データベースへの接続やリソースの管理などにも使用できます。この記事では、データベース接続とリソース管理に JNDI を使用する方法を紹介し、詳細なコード例を示します。

  1. JNDI データ ソースの設定
    まず、Java Web アプリケーションの設定ファイル (web.xml など) に JNDI データ ソースの設定情報を追加します。構成例を次に示します。
<resource-ref>
  <description>Database Connection</description>
  <res-ref-name>jdbc/myDB</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

ここでは、jdbc/myDB という名前の JNDI データ ソースを定義し、そのタイプを javax.sql .DataSource## として指定します。 #。

    サーバーでのデータ ソースの構成
  1. 次に、サーバーの構成ファイル (Tomcat など) で実際のデータベース接続情報を構成する必要があります。以下は設定例です (Tomcat の
    context.xml ファイル内):
  2. <Resource name="jdbc/myDB" auth="Container"
              type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/myDB"
              username="root" password="password"
              maxTotal="100" maxIdle="30" maxWaitMillis="10000" />
ここでは、

jdbc/myDB という名前のファイルを設定します。 データ ソース接続 URL、ユーザー名、パスワードなどの情報と、接続プールの一部の構成を指定します。

    データベース接続の取得
  1. Java コードでは、JNDI を通じてデータベース接続を取得します。以下は例です:
  2. // 创建JNDI上下文
    Context initCtx = new InitialContext();
    Context envCtx = (Context) initCtx.lookup("java:comp/env");
    
    // 获取数据源
    DataSource ds = (DataSource) envCtx.lookup("jdbc/myDB");
    
    // 获取数据库连接
    Connection conn = ds.getConnection();
ここでは、まず JNDI の初期コンテキスト

initCtx を作成し、次にこのコンテキストを通じて環境コンテキスト envCtx を取得します。 。次に、以前に構成したデータ ソース jdbc/myDB を環境コンテキストから取得しました。最後に、データ ソースを通じてデータベース接続を取得します。

    データベース接続の使用
  1. データベース接続を取得したら、それを使用して、クエリ、挿入、更新などのさまざまなデータベース操作を実行できます。以下に簡単な例を示します。
  2. try {
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("SELECT * FROM users");
    
        while (rs.next()) {
            int id = rs.getInt("id");
            String name = rs.getString("name");
            System.out.println("User: " + id + ", " + name);
        }
    
        rs.close();
        stmt.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    データベース接続を閉じる
  1. データベース接続の使用が終了したら、手動でデータベース接続を閉じてリソースを解放する必要があります。以下は、データベース接続を閉じるためのコード例です。
  2. try {
        if (conn != null) {
            conn.close();
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
上記の手順により、データベース接続とリソース管理に JNDI を使用できます。 JNDI を使用する利点は、コード内で接続パラメータをハードコーディングすることなく、データベース接続情報を構成ファイルで一元管理できるため、コードがより簡潔で保守しやすくなることです。

概要:

この記事では、データベース接続とリソース管理に JNDI を使用する方法を紹介します。 JNDI データ ソース、サーバー構成データ ソースを構成し、データベース接続を取得し、接続サンプル コードを使用して閉じることにより、Java 開発で JNDI を使用してデータベース接続とリソースを簡単に管理できます。この記事が、JNDI を学習および使用している開発者にとって役立つことを願っています。

以上がJava 開発: データベース接続とリソース管理に JNDI を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。