Apache Commons DBUtils - İlk Uygulama

Bu bölüm, DBUtils kitaplığını kullanarak basit bir JDBC uygulamasının nasıl oluşturulacağına dair bir örnek sağlar. Bu size bir veritabanı bağlantısının nasıl açılacağını, bir SQL sorgusunun nasıl yürütüleceğini ve sonuçları gösterecektir.

Bu şablon örneğinde bahsedilen tüm adımlar, bu eğitimin sonraki bölümlerinde açıklanacaktır.

JDBC Uygulaması Oluşturma

Bir JDBC uygulaması oluşturmanın altı adımı vardır:

  • Import the packages- Veritabanı programlaması için gerekli olan JDBC sınıflarını içeren paketleri eklemenizi gerektirir. Çoğu zaman,import java.sql.* yeterli olacaktır.

  • Register the JDBC driver - Bir sürücüyü başlatmanızı gerektirir, böylece veritabanıyla bir iletişim kanalı açabilirsiniz.

  • Open a connection - DriverManager.getConnection() veritabanıyla fiziksel bir bağlantıyı temsil eden bir Connection nesnesi oluşturma yöntemi.

  • Execute a query - SQL deyimi oluşturmak ve veritabanına göndermek için Statement türünde bir nesne kullanmayı gerektirir.

  • Extract data from result set - Uygun olanı kullanmanızı gerektirir ResultSet.getXXX() Sonuç kümesinden verileri alma yöntemi.

  • Clean up the environment - JVM'nin çöp toplama işlemine bağlı olarak tüm veritabanı kaynaklarının açıkça kapatılmasını gerektirir.

Basit kod

Bu örnek örnek, gelecekte kendi JDBC uygulamanızı oluşturmanız gerektiğinde bir şablon görevi görebilir.

Bu örnek kod, önceki bölümde yapılan ortam ve veritabanı kurulumuna göre yazılmıştır.

Aşağıdaki örneği MainApp.java içine kopyalayıp yapıştırın, aşağıdaki gibi derleyin ve çalıştırın -

MainApp.java

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.apache.commons.dbutils.handlers.BeanHandler;

public class MainApp {
   // JDBC driver name and database URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
   static final String DB_URL = "jdbc:mysql://localhost:3306/emp";
   
   // Database credentials
   static final String USER = "root";
   static final String PASS = "admin";
   
   public static void main(String[] args) throws SQLException {
      Connection conn = null;
      QueryRunner queryRunner = new QueryRunner();
      
      //Step 1: Register JDBC driver
      DbUtils.loadDriver(JDBC_DRIVER);

      //Step 2: Open a connection
      System.out.println("Connecting to database...");
      conn = DriverManager.getConnection(DB_URL, USER, PASS);
      
      //Step 3: Create a ResultSet Handler to handle Employee Beans
      ResultSetHandler<Employee> resultHandler = new BeanHandler<Employee>(Employee.class);
      
      try {
         Employee emp = queryRunner.query(conn,
            "SELECT * FROM employees WHERE first=?", resultHandler, "Sumit");
         //Display values
         System.out.print("ID: " + emp.getId());
         System.out.print(", Age: " + emp.getAge());
         System.out.print(", First: " + emp.getFirst());
         System.out.println(", Last: " + emp.getLast());
      } finally {
         DbUtils.close(conn);
      }
   }
}

Employee.java

Program aşağıda verilmiştir -

public class Employee {
   private int id;
   private int age;
   private String first;
   private String last;
   public int getId() {
      return id;
   }
   public void setId(int id) {
      this.id = id;
   }
   public int getAge() {
      return age;
   }
   public void setAge(int age) {
      this.age = age;
   }
   public String getFirst() {
      return first;
   }
   public void setFirst(String first) {
      this.first = first;
   }
   public String getLast() {
      return last;
   }
   public void setLast(String last) {
      this.last = last;
   }
}

Şimdi yukarıdaki örneği şu şekilde derleyelim -

C:\>javac MainApp.java Employee.java
C:\>

Koştuğun zaman MainApp, aşağıdaki sonucu verir -

C:\>java MainApp
Connecting to database...
ID: 103, Age: 28, First: Sumit, Last: Mittal
C:\>