


Pembangunan Java: Cara menggunakan JNDI untuk sambungan pangkalan data dan pengurusan sumber
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.
- Konfigurasikan sumber data JNDI
Mula-mula, tambah maklumat konfigurasi sumber data JNDI dalam fail konfigurasi aplikasi web Java (seperti web.xml). Berikut ialah contoh konfigurasi:
<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
。
- 在服务器中配置数据源
接下来,需要在服务器(如Tomcat)的配置文件中,配置实际的数据库连接信息。以下是一个示例配置(在Tomcat的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、用户名、密码等信息,以及连接池的一些配置。
- 获取数据库连接
在Java代码中,通过JNDI来获取数据库连接。以下是一个示例:
// 创建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
- Konfigurasikan sumber data dalam pelayan
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(); }
Salin selepas log masukDi sini, kami mengkonfigurasi sumber data bernama - Dalam kod Java, dapatkan sambungan pangkalan data melalui JNDI. Berikut ialah contoh:
- Seterusnya, anda perlu mengkonfigurasi maklumat sambungan pangkalan data sebenar dalam fail konfigurasi pelayan (seperti Tomcat). Berikut ialah contoh konfigurasi (dalam fail
context.xml
Tomcat): jdbc/myDB
, dengan menyatakan URL sambungan, nama pengguna, kata laluan dan maklumat lain disertakan, serta beberapa konfigurasi kumpulan sambungan. - Dapatkan sambungan pangkalan data
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Apabila menggunakan Mybatis-Plus atau Rangka Kerja ORM yang lain untuk operasi pangkalan data, sering diperlukan untuk membina syarat pertanyaan berdasarkan nama atribut kelas entiti. Sekiranya anda secara manual setiap kali ...

Penyelesaian masalah dan penyelesaian kepada perisian keselamatan syarikat yang menyebabkan beberapa aplikasi tidak berfungsi dengan baik. Banyak syarikat akan menggunakan perisian keselamatan untuk memastikan keselamatan rangkaian dalaman. …

Pemprosesan pemetaan medan dalam dok sistem sering menemui masalah yang sukar ketika melaksanakan sistem dok: bagaimana untuk memetakan medan antara muka sistem dengan berkesan ...

Mula musim bunga menggunakan versi IntelliJideaultimate ...

Penukaran objek dan tatasusunan Java: Perbincangan mendalam tentang risiko dan kaedah penukaran jenis cast yang betul Banyak pemula Java akan menemui penukaran objek ke dalam array ...

Analisis fenomena kebocoran memori program Java pada CPU seni bina yang berbeza. Artikel ini akan membincangkan kes di mana program Java mempamerkan tingkah laku memori yang berbeza di lengan dan cpus seni bina x86 ...

Bagaimana cara menukar nama ke nombor untuk melaksanakan penyortiran dalam kumpulan? Apabila menyusun pengguna dalam kumpulan, sering kali perlu menukar nama pengguna ke dalam nombor supaya ia boleh berbeza ...

Bagaimanakah penyelesaian caching Redis menyedari keperluan senarai kedudukan produk? Semasa proses pembangunan, kita sering perlu menangani keperluan kedudukan, seperti memaparkan ...
