Rumah >Java >javaTutorial >Pembangunan Java: Cara menggunakan JNDI untuk sambungan pangkalan data dan pengurusan sumber

Pembangunan Java: Cara menggunakan JNDI untuk sambungan pangkalan data dan pengurusan sumber

PHPz
PHPzasal
2023-09-20 10:10:58945semak imbas

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.

  1. 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. jdbc/myDB的JNDI数据源,并指定了其类型为javax.sql.DataSource

  1. 在服务器中配置数据源
    接下来,需要在服务器(如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、用户名、密码等信息,以及连接池的一些配置。

  1. 获取数据库连接
    在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
      Seterusnya, anda perlu mengkonfigurasi maklumat sambungan pangkalan data sebenar dalam fail konfigurasi pelayan (seperti Tomcat). Berikut ialah contoh konfigurasi (dalam fail context.xml Tomcat):

    1. 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();
      }
    2. Di sini, kami mengkonfigurasi sumber data bernama jdbc/myDB, dengan menyatakan URL sambungan, nama pengguna, kata laluan dan maklumat lain disertakan, serta beberapa konfigurasi kumpulan sambungan.
        Dapatkan sambungan pangkalan data
      1. Dalam kod Java, dapatkan sambungan pangkalan data melalui JNDI. Berikut ialah contoh:
      2. try {
            if (conn != null) {
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
      Di sini, kita mula-mula mencipta konteks awal JNDI 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:

      🎜rrreee🎜🎜Tutup sambungan pangkalan data🎜Selepas anda selesai menggunakan sambungan pangkalan data, anda perlu menutupnya secara manual untuk melepaskan sumber. Berikut ialah contoh kod untuk menutup sambungan pangkalan data: 🎜🎜rrreee🎜Melalui langkah di atas, kita boleh menggunakan JNDI untuk sambungan pangkalan data dan pengurusan sumber. Kelebihan menggunakan JNDI ialah maklumat sambungan pangkalan data boleh diurus secara berpusat dalam fail konfigurasi tanpa parameter sambungan pengekodan keras dalam kod, menjadikan kod lebih ringkas dan boleh diselenggara. 🎜🎜Ringkasan: 🎜Artikel ini memperkenalkan cara menggunakan JNDI untuk sambungan pangkalan data dan pengurusan sumber. Dengan mengkonfigurasi sumber data JNDI, sumber data konfigurasi pelayan, mendapatkan sambungan pangkalan data, dan menggunakan dan menutup kod sampel sambungan, kami boleh menggunakan JNDI dengan mudah untuk mengurus sambungan pangkalan data dan sumber dalam pembangunan Java. Saya harap artikel ini dapat membantu pembangun yang sedang belajar dan menggunakan JNDI. 🎜

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn