JDBC - Verileri Sıralama Örneği

Bu bölüm, JDBC uygulaması kullanılarak bir tablodaki kayıtların nasıl sıralanacağına dair bir örnek sağlar. Bu kullanırasc ve desckayıtları artan veya azalan sırada sıralamak için anahtar sözcükler. Aşağıdaki örneği uygulamadan önce, aşağıdakilere sahip olduğunuzdan emin olun -

  • Aşağıdaki örneği çalıştırabilmek için yerini alabilir kullanıcı adı ve şifresini sizin gerçek kullanıcı adı ve şifre ile.

  • MySQL'iniz veya kullandığınız her türlü veritabanı çalışır durumda.

Gerekli Adımlar

JDBC uygulamasını kullanarak yeni bir Veritabanı oluşturmak için aşağıdaki adımlar gereklidir -

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

  • Register the JDBC driver: Veritabanıyla bir iletişim kanalı açabilmeniz için bir sürücüyü başlatmanızı gerektirir.

  • Open a connection:Veritabanı sunucusuyla fiziksel bir bağlantıyı temsil eden bir Connection nesnesi oluşturmak için DriverManager.getConnection () yönteminin kullanılmasını gerektirir .

  • Execute a query:Bir tablodaki kayıtları sıralamak için bir SQL ifadesi oluşturmak ve göndermek için Statement türünde bir nesne kullanmayı gerektirir. Bu Sorgular şunları kullanır:asc ve desc Verileri artan ve azalan sırada sıralamak için tümcecikler.

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

Basit kod

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

//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 in ascending order by first name.
      System.out.println("Fetching records in ascending order...");
      String sql = "SELECT id, first, last, age FROM Registration" +
                   " ORDER BY first ASC";
      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);
      }

      // Extract records in descending order by first name.
      System.out.println("Fetching records in descending order...");
      sql = "SELECT id, first, last, age FROM Registration" +
                   " ORDER BY first DESC";
      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

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

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

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

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