جدول المحتوى
في هذا الدرس سوف نقدم مثالاً لكيفية إنشاء تطبيق JDBC بسيط. سيوضح لك هذا كيفية فتح اتصال قاعدة بيانات وتنفيذ استعلام SQL وعرض النتائج.
إنشاء تطبيق JDBC
هناك مجموعة خطوات متضمنة في بناء تطبيق JDBC :
1 – استيراد الحزم Import the packages : يتطلب تضمين الحزم التي تحتوي على فئات JDBC اللازمة لبرمجة قاعدة البيانات. في أغلب الأحيان، يكفي استخدام import java.sql.*.
2 – فتح اتصال Open a connection : يتطلب استخدام الأسلوب DriverManager.getConnection() لإنشاء كائن اتصال، والذي يمثل اتصالاً فعليًا بقاعدة البيانات.
3 – تنفيذ استعلام Execute a query : يتطلب استخدام كائن من النوع بيان لإنشاء عبارة SQL وإرسالها إلى قاعدة البيانات.
4 – استخراج البيانات من مجموعة النتائج Extract data from result set : يتطلب استخدام الأسلوب ResultSet.getXXX() المناسب لاسترداد البيانات من مجموعة النتائج.
5 – تنظيف بيئة العمل Clean up the environment : يتطلب إغلاق جميع موارد قاعدة البيانات بشكل صريح مقابل الاعتماد على مجموعة البيانات المهملة الخاصة بـ JVM.
مثال بسيط
يمكن أن يكون هذا المثال النموذجي بمثابة قالب عندما تحتاج إلى إنشاء تطبيق JDBC الخاص بك في المستقبل.
تمت كتابة نموذج التعليمات البرمجية هذا استنادًا إلى البيئة وإعداد قاعدة البيانات التي تم إجراؤها في الفصل السابق.
انسخ المثال التالي والصقه في FirstExample.java، وقم بتجميعه وتشغيله على النحو التالي :
import java.sql.*;
public class FirstExample {
static final String DB_URL = "jdbc:mysql://localhost/TUTORIALSPOINT";
static final String USER = "guest";
static final String PASS = "guest123";
static final String QUERY = "SELECT id, first, last, age FROM Employees";
public static void main(String[] args) {
// Open a connection
try(Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(QUERY);) {
// Extract data from result set
while (rs.next()) {
// Retrieve by column name
System.out.print("ID: " + rs.getInt("id"));
System.out.print(", Age: " + rs.getInt("age"));
System.out.print(", First: " + rs.getString("first"));
System.out.println(", Last: " + rs.getString("last"));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
بعد ذلك يتم ترجمة المثال السابق على النحو التالي :
C:\>javac FirstExample.java
C:\>
عند تشغيل FirstExample، فإنه ينتج النتيجة التالية
C:\>java FirstExample
Connecting to database...
Creating statement...
ID: 100, Age: 18, First: Zara, Last: Ali
ID: 101, Age: 25, First: Mahnaz, Last: Fatma
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
C:\>