Java-Entwicklung: Verwendung von JNDI für Datenbankverbindung und Ressourcenverwaltung
In der Java-Entwicklung ist JNDI (Java Naming and Directory Interface) eine Standard-API zur Verwaltung von Namens- und Verzeichnisdiensten. Es kann nicht nur zum Zugriff auf Namensdienste verwendet werden, sondern auch zum Herstellen einer Verbindung zu Datenbanken, zum Verwalten von Ressourcen usw. In diesem Artikel wird die Verwendung von JNDI für die Datenbankverbindung und Ressourcenverwaltung vorgestellt und detaillierte Codebeispiele bereitgestellt.
<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>
Hier definieren wir eine JNDI-Datenquelle mit dem Namen jdbc/myDB
und geben ihren Typ als javax.sql.DataSource
an. jdbc/myDB
的JNDI数据源,并指定了其类型为javax.sql.DataSource
。
context.xml
文件中):<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、用户名、密码等信息,以及连接池的一些配置。
// 创建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
context.xml
von Tomcat): 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(); }
jdbc/myDB
und geben die Verbindungs-URL an. Benutzername, Passwort und andere Informationen sind enthalten, ebenso wie einige Konfigurationen des Verbindungspools. try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); }
initCtx
und erhalten dann über diesen Kontext den Umgebungskontext envCtx
. Als nächstes beziehen wir die zuvor konfigurierte Datenquelle jdbc/myDB
aus dem Umgebungskontext. Stellen Sie abschließend die Datenbankverbindung über die Datenquelle her.
Datenbankverbindung verwenden
Nachdem wir die Datenbankverbindung erhalten haben, können wir damit verschiedene Datenbankvorgänge ausführen, z. B. Abfragen, Einfügen, Aktualisieren usw. Hier ist ein einfaches Beispiel:
Das obige ist der detaillierte Inhalt vonJava-Entwicklung: Verwendung von JNDI für Datenbankverbindungen und Ressourcenverwaltung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!