Pembangunan Java: Menggunakan JNDI untuk sambungan pangkalan data dan pengurusan sumber
Dalam pembangunan Java, JNDI (Java Penamaan dan Antara Muka Direktori) ialah API standard untuk mengurus perkhidmatan penamaan dan direktori. Ia boleh digunakan bukan sahaja untuk mengakses perkhidmatan penamaan, tetapi juga untuk menyambung ke pangkalan data, mengurus sumber, dsb. Artikel ini akan memperkenalkan cara menggunakan JNDI untuk sambungan pangkalan data dan pengurusan sumber, serta memberikan contoh kod terperinci.
<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>
Di sini, kami mentakrifkan sumber data JNDI bernama jdbc/myDB
dan menentukan jenisnya sebagai javax.sql.DataSource</code >. <code>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
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
, dengan menyatakan URL sambungan, nama pengguna, kata laluan dan maklumat lain disertakan, serta beberapa konfigurasi kumpulan sambungan. try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); }
initCtx
dan kemudian mendapatkan konteks persekitaran envCtx
melalui konteks ini. Seterusnya, kami memperoleh sumber data yang telah dikonfigurasikan sebelumnya jdbc/myDB
daripada konteks persekitaran. Akhir sekali, dapatkan sambungan pangkalan data melalui sumber data.
Menggunakan Sambungan Pangkalan Data
Selepas mendapatkan sambungan pangkalan data, kami boleh menggunakannya untuk melaksanakan pelbagai operasi pangkalan data, seperti pertanyaan, sisipan, kemas kini, dll. Berikut ialah contoh mudah:
Atas ialah kandungan terperinci Pembangunan Java: Cara menggunakan JNDI untuk sambungan pangkalan data dan pengurusan sumber. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!