English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

جملة LIKE JDBC

هذا الفصل يقدم أمثلة حول كيفية استخدام تطبيقات JDBC لاختيار السجلات من الجداول. عند اختيار السجلات من الجداول، سيتم إضافة شروط إضافية باستخدام جملة LIKE. قبل تنفيذ الأمثلة التالية، تأكد من أن لديك الشروط التالية:

  • 要执行以下示例,您可以将用户名密码替换为实际的用户名和密码。

  • 您的MySQL或您正在使用的任何数据库均已启动并正在运行。

必要步骤

使用JDBC应用程序创建新数据库需要执行以下步骤-

  • 导入包:要求您包含包含数据库编程所需的JDBC类的软件包。通常,使用 import java.sql.* 就足够了。

  • 注册 JDBC 驱动程序: 要求您初始化驱动程序,以便您可以打开与数据库的通信通道。

  • 建立连接:需要使用 DriverManager.getConnection() 方法来创建一个Connection对象,该对象表示与数据库服务器的物理连接。

  • 执行查询:需要使用Statement类型的对象来构建和提交SQL语句,以从满足给定条件的表中获取记录。该查询利用LIKE子句选择记录,以选择所有名字以“ za”开头的学生。

  • 清理环境: 需要显式关闭所有数据库资源,而不是依赖JVM的垃圾回收。

示例代码

将以下示例复制并粘贴到JDBCExample.java中,编译并运行如下-

//步骤1.导入所需的软件包
import java.sql.*;
public class JDBCExample {
   // JDBC驱动程序名称和数据库URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost/STUDENTS";
   //  数据库凭证
   static final String USER = "username";
   static final String PASS = "password";
   
   public static void main(String[] args) {
   Connection conn = null;
   Statement stmt = null;
   try{
      //步骤2:注册JDBC驱动程序
      Class.forName("com.mysql.jdbc.Driver");
      //步骤3:建立连接
      System.out.println("Connecting to a selected database...");
      conn = DriverManager.getConnection(DB_URL, USER, PASS);
      System.out.println("Successfully connected to database...");
      
      //الخطوة 4: تنفيذ الاستعلام
      System.out.println("Creating statement...");
      stmt = conn.createStatement();
      //استخراج السجلات بدون شرط.
      System.out.println("Fetching records without condition...");
      String sql = "SELECT id, first, last, age FROM Registration";
      ResultSet rs = stmt.executeQuery(sql);
      while(rs.next()){
         //البحث بواسطة اسم العمود
         int id = rs.getInt("id");
         int age = rs.getInt("age");
         String first = rs.getString("first");
         String last = rs.getString("last");
         //عرض القيم
         System.out.print("ID: " + id);
         System.out.print(", Age: " + age);
         System.out.print(", First: " + first);
         System.out.println(", Last: " + last);
      }
      //اختيار جميع السجلات التي تحتوي على ID يساوي أو أكبر من 101
      System.out.println("Fetching records with condition...");
      sql = "SELECT id, first, last, age FROM Registration" +
                   "WHERE first LIKE '%za%'";
      rs = stmt.executeQuery(sql);
      while(rs.next()){
         //البحث بواسطة اسم العمود
         int id = rs.getInt("id");
         int age = rs.getInt("age");
         String first = rs.getString("first");
         String last = rs.getString("last");
         //عرض القيم
         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){
      //معالجة خطأ JDBC
      se.printStackTrace();
   }catch(Exception e){
      //معالجة خطأ Class.forName
      e.printStackTrace();
   }finally{
      //لإغلاق الموارد
      try{
         if(stmt!=null)
            conn.close();
      catch(SQLException se){
      //لم يفعل شيئاً
      try{
         if(conn!=null)
            conn.close();
      catch(SQLException se){
         se.printStackTrace();
      }
   }
   System.out.println("وداعاً!");
//إنهاء main
//إنهاء JDBCExample

الآن، دعونا نكتب مثال السابقة، كما يلي:

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

في وقت التشغيلJDBCExample،سيظهر النتيجة التالية-

C:\>java JDBCExample
الاتصال بقاعدة بيانات مختارة...
تم الاتصال بقاعدة البيانات بنجاح...
إنشاء جملة...
جلب السجلات بدون شرط...
ID: 100, Age: 30, First: Zara, Last: Ali
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
جلب السجلات مع شرط...
ID: 100, Age: 30, First: Zara, Last: Ali
ID: 102, Age: 30, First: Zaid, Last: Khan
وداعاً!
C:\>