JNDIによるデータベース接続手順
Java Naming and Directory Interface(JNDI)を使ったデータベース接続手順
- Javaアプリケーションの構成ファイル(Webアプリケーションの場合はweb.xml、Java EEアプリケーションの場合はpersistence.xmlなど)にて、JNDI環境の設定を行います。設定には、JNDI名、データベースドライバ、データベース接続URL、ユーザー名、パスワードなどの情報が含まれます。
- Javaコードでは、InitialContextクラスのインスタンスを使用してJNDIコンテキストを取得できます。 InitialContextオブジェクトはnewキーワードを使用して作成できます。
- データソースを探す:JNDIコンテキストでは、データベース接続を管理しているデータソースオブジェクトをlookup()メソッドを使って探します。データソースオブジェクトには、接続プールや接続プールに関する情報が入っています。データソースオブジェクトを探すには、javax.naming.Contextインターフェースのlookup()メソッドを使います。
- データソースオブジェクトからデータベース接続を取得するには、データソースオブジェクトのgetConnection()メソッドを使用します。
- データベース操作の実行:取得したデータベース接続オブジェクトを利用して、問い合わせ、挿入、更新、削除などの各種データベース操作を実行する。
- データベース操作後、リソースを開放するためにデータベース接続を閉じる必要があります。Connectionオブジェクトのclose()メソッドを使用して、接続を閉じます。
簡単なサンプルコードは次のとおりです。
// 配置JNDI环境(在web.xml中配置)
<resource-ref>
<description>My DataSource Reference</description>
<res-ref-name>jdbc/MyDataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
// 获取JNDI上下文
Context ctx = new InitialContext();
// 查找数据源
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/MyDataSource");
// 获取数据库连接
Connection conn = ds.getConnection();
// 执行数据库操作
// ...
// 关闭数据库连接
conn.close();
実際の配置や利用法はアプリケーションサーバやフレームワークによって異なる場合があるので、本手順は一般的な参考程度にお考えください。