Apache Commons DBUtils - Erste Anwendung

Dieses Kapitel enthält ein Beispiel zum Erstellen einer einfachen JDBC-Anwendung mithilfe der DBUtils-Bibliothek. Dies zeigt Ihnen, wie Sie eine Datenbankverbindung öffnen, eine SQL-Abfrage ausführen und die Ergebnisse anzeigen.

Alle in diesem Vorlagenbeispiel genannten Schritte werden in den folgenden Kapiteln dieses Lernprogramms erläutert.

JDBC-Anwendung erstellen

Die Erstellung einer JDBC-Anwendung umfasst die folgenden sechs Schritte:

  • Import the packages- Erfordert, dass Sie die Pakete enthalten, die die JDBC-Klassen enthalten, die für die Datenbankprogrammierung benötigt werden. Meistens mitimport java.sql.* wird genügen.

  • Register the JDBC driver - Erfordert die Initialisierung eines Treibers, damit Sie einen Kommunikationskanal mit der Datenbank öffnen können.

  • Open a connection - Erfordert die Verwendung der DriverManager.getConnection() Methode zum Erstellen eines Verbindungsobjekts, das eine physische Verbindung mit der Datenbank darstellt.

  • Execute a query - Erfordert die Verwendung eines Objekts vom Typ Anweisung zum Erstellen und Senden einer SQL-Anweisung an die Datenbank.

  • Extract data from result set - Erfordert, dass Sie die entsprechende verwenden ResultSet.getXXX() Methode zum Abrufen der Daten aus der Ergebnismenge.

  • Clean up the environment - Erfordert das explizite Schließen aller Datenbankressourcen, anstatt sich auf die Garbage Collection der JVM zu verlassen.

Beispielcode

Dieses Beispielbeispiel kann als Vorlage dienen, wenn Sie in Zukunft eine eigene JDBC-Anwendung erstellen müssen.

Dieser Beispielcode wurde basierend auf der im vorherigen Kapitel vorgenommenen Umgebung und Datenbankeinrichtung geschrieben.

Kopieren Sie das folgende Beispiel und fügen Sie es in MainApp.java ein. Kompilieren Sie es und führen Sie es wie folgt aus:

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

Das Programm ist unten angegeben -

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;
   }
}

Lassen Sie uns nun das obige Beispiel wie folgt zusammenstellen:

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

Wenn du rennst MainApperzeugt es das folgende Ergebnis -

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