JDBC - WHERE Clause Example

Bab ini memberikan contoh tentang cara memilih record dari tabel menggunakan aplikasi JDBC. Ini akan menambahkan kondisi tambahan menggunakan klausa WHERE saat memilih rekaman dari tabel. Sebelum menjalankan contoh berikut, pastikan Anda memiliki yang berikut ini -

  • Untuk menjalankan contoh berikut, Anda dapat mengganti nama pengguna dan kata sandi dengan nama pengguna dan kata sandi Anda yang sebenarnya.

  • MySQL Anda atau database apa pun yang Anda gunakan, sudah aktif dan berjalan.

Langkah yang Diperlukan

Langkah-langkah berikut diperlukan untuk membuat Database baru menggunakan aplikasi JDBC -

  • Import the packages:Mengharuskan Anda menyertakan paket yang berisi kelas JDBC yang diperlukan untuk pemrograman database. Paling sering, menggunakan import java.sql. * Sudah cukup.

  • Register the JDBC driver: Mengharuskan Anda menginisialisasi driver sehingga Anda bisa membuka saluran komunikasi dengan database.

  • Open a connection:Memerlukan penggunaan metode DriverManager.getConnection () untuk membuat objek Connection, yang mewakili koneksi fisik dengan server database.

  • Execute a query:Memerlukan penggunaan objek Pernyataan tipe untuk membangun dan mengirimkan pernyataan SQL untuk mengambil rekaman dari tabel, yang memenuhi kondisi yang diberikan. Kueri ini memanfaatkanWHERE klausa untuk memilih catatan.

  • Clean up the environment: Mengharuskan menutup semua sumber daya database secara eksplisit versus mengandalkan pengumpulan sampah JVM.

Kode sampel

Salin dan tempel contoh berikut di JDBCExample.java, kompilasi dan jalankan sebagai berikut -

//STEP 1. Import required packages
import java.sql.*;

public class JDBCExample {
   // JDBC driver name and database URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost/STUDENTS";

   //  Database credentials
   static final String USER = "username";
   static final String PASS = "password";
   
   public static void main(String[] args) {
   Connection conn = null;
   Statement stmt = null;
   try{
      //STEP 2: Register JDBC driver
      Class.forName("com.mysql.jdbc.Driver");

      //STEP 3: Open a connection
      System.out.println("Connecting to a selected database...");
      conn = DriverManager.getConnection(DB_URL, USER, PASS);
      System.out.println("Connected database successfully...");
      
      //STEP 4: Execute a query
      System.out.println("Creating statement...");
      stmt = conn.createStatement();

      // Extract records without any condition.
      System.out.println("Fetching records without condition...");
      String sql = "SELECT id, first, last, age FROM Registration";
      ResultSet rs = stmt.executeQuery(sql);

      while(rs.next()){
         //Retrieve by column name
         int id  = rs.getInt("id");
         int age = rs.getInt("age");
         String first = rs.getString("first");
         String last = rs.getString("last");

         //Display values
         System.out.print("ID: " + id);
         System.out.print(", Age: " + age);
         System.out.print(", First: " + first);
         System.out.println(", Last: " + last);
      }

      // Select all records having ID equal or greater than 101
      System.out.println("Fetching records with condition...");
      sql = "SELECT id, first, last, age FROM Registration" +
                   " WHERE id >= 101 ";
      rs = stmt.executeQuery(sql);

      while(rs.next()){
         //Retrieve by column name
         int id  = rs.getInt("id");
         int age = rs.getInt("age");
         String first = rs.getString("first");
         String last = rs.getString("last");

         //Display values
         System.out.print("ID: " + id);
         System.out.print(", Age: " + age);
         System.out.print(", First: " + first);
         System.out.println(", Last: " + last);
      }
      rs.close();
   }catch(SQLException se){
      //Handle errors for JDBC
      se.printStackTrace();
   }catch(Exception e){
      //Handle errors for Class.forName
      e.printStackTrace();
   }finally{
      //finally block used to close resources
      try{
         if(stmt!=null)
            conn.close();
      }catch(SQLException se){
      }// do nothing
      try{
         if(conn!=null)
            conn.close();
      }catch(SQLException se){
         se.printStackTrace();
      }//end finally try
   }//end try
   System.out.println("Goodbye!");
}//end main
}//end JDBCExample

Sekarang, mari kita kompilasi contoh di atas sebagai berikut -

C:\>javac JDBCExample.java
C:\>

Saat kamu lari JDBCExample, itu menghasilkan hasil sebagai berikut -

C:\>java JDBCExample
Connecting to a selected database...
Connected database successfully...
Creating statement...
Fetching records without condition...
ID: 100, Age: 30, First: Zara, Last: Ali
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
Fetching records with condition...
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
Goodbye!
C:\>