تعرف على مزود قواعد البيانات JDBC
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: قواعد البيانات JAVA JDBC
صفحة 1 من اصل 1 • شاطر
تعرف على مزود قواعد البيانات JDBC
بسم الله الرحمن الرحيم
اهلا بكم
مقدمة :
JDBC API هو واجهة برمجة تطبيقات جافا التي يمكنها الوصول إلى قواعد البيانات العلائقية. وهي اختصار لجملة Java Database Connectivity حيث توفر تلك الواجهة العديد من مزودات اتصالات بين لغة برمجة Java وقواعد البيانات فهي تقوم بالتالى :
1_ فتح اتصال مع قاعدة البيانات
2_إنشاء عبارات الاستعلامات SQL
3_ تنفيذ استعلامات SQL
4_عرض وتعديل السجلات الناتجة
ويمكنك استخدام تلك الواجهة فى معظم تطبيقات الجافا سواء مثل :
Java Applications
Java Applets
Java Servlets
Java ServerPages (JSPs)
Enterprise JavaBeans (EJBs).
_أهم الواجهات و الفئات interfaces & classes لتى يوفرها مزود الاتصال JDBC
1_ DriverManager : تلك الفئة تحتوي على drivers سائق الاتصال لكل نوع من قاعدة البيانات
2_Driver : وهو السائق الذى يعالج الاتصالات مع خادم قاعدة البيانات.
3_ Connection : تلك الفئة التى تحتوي على جميع طرق الاتصال بقاعدة البيانات.
4_ Statement : وهي الفئة التى تستخدم لانشاء وتنفيذ عبارات SQL اللازمة للتعامل مع حقول و جداول قاعدة البيانات .
5_ResultSet: يحتفظ بالبيانات المستردة من قاعدة بيانات بعد تنفيذ استعلام SQL باستخدام كائنات بيان.
6_ SQLException: يعالج أي أخطاء تحدث في تطبيق قاعدة بيانات.
_ حزمة JDBC 4.0
java.sql و javax.sql هي الحزم الأساسية لـ JDBC 4.0. هذا هو أحدث إصدار JDBC متوفر فى الجافا حتى كتابة هذا المقال التعليمي. يقدم الفئات الرئيسية للتفاعل مع مصادر البيانات الخاصة بك.
تتضمن الميزات الجديدة في هذه الحزم تغييرات في المناطق التالية -
- تحميل سائق تشغيل قاعدة البيانات driver تلقائي.
- تحسينات معالجة الاستثناء.
- تعزيز وظائف BLOB / CLOB.
- تحسينات واجهة Connection & statement.
- وصول SQL ROWID.
- دعم نوع بيانات XML 2003 XML.
_ الخطوات اللازمة لانشاء اتصال مع قاعدة البيانات باستخدام JDBC
يوجد ست خطوات لازمة لفتح اتصال مع اى قاعدة بيانات باستخدام JDBC وهي على النحو التالى :
1_استيراد الحزم التي تحتوي على فئات JDBC اللازمة لبرمجة قواعد البيانات. في معظم الأحيان على النحو التالى :
- الكود:
import java.sql.*;
2_تسجيل وتهيئة سائق الاتصال JDBC driver بحيث يمكنك فتح قناة الاتصال بقاعدة البيانات وذلك على النحو التالى :
- الكود:
Class.forName("com.mysql.jdbc.Driver");
3_فتح اتصال: يتطلب استخدام الأسلوب DriverManager.getConnection () لإنشاء كائن اتصال ، والذي يمثل اتصال فعلي مع قاعدة البيانات.
- الكود:
conn = DriverManager.getConnection(DB_URL,USER,PASS);
4_تنفيذ الاستعلام: يتطلب استخدام كائن من نوع Statement لبناء وإرسال عبارة SQL إلى قاعدة البيانات.
- الكود:
stmt = conn.createStatement();
String sql;
sql = "SELECT id, first, last, age FROM Employees";
ResultSet rs = stmt.executeQuery(sql);
5_استخراج البيانات من مجموعة النتائج: يتطلب استخدام الأسلوب ResultSet.getXXX () المناسب لاسترداد البيانات من مجموعة النتائج.
- الكود:
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);
}
6_ إغلاق جميع موارد قواعد البيانات بشكل صريح .
- الكود:
rs.close();
stmt.close();
conn.close();
واليك الكود بالكامل :
- الكود:
//STEP 1. Import required packages
import java.sql.*;
public class FirstExample {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/EMP";
// 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 database...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql;
sql = "SELECT id, first, last, age FROM Employees";
ResultSet rs = stmt.executeQuery(sql);
//STEP 5: Extract data from result set
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);
}
//STEP 6: Clean-up environment
rs.close();
stmt.close();
conn.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)
stmt.close();
}catch(SQLException se2){
}// nothing we can do
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}//end finally try
}//end try
System.out.println("Goodbye!");
}//end main
}//end FirstExample
زهراء- ........
- تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة :
الجنس :
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: قواعد البيانات JAVA JDBC
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
أمس في 9:18 pm من طرف wdqwd
» رش الدفان بالرياض
أمس في 7:11 pm من طرف moslema_r
» شركة تنظيف خزانات الشارقة
أمس في 6:57 pm من طرف moslema_r
» شركة مكافحة الفئران بالرياض
الإثنين أبريل 15, 2024 8:23 pm من طرف moslema_r
» افضل شركة كشف تسربات المياه بالباحة
الخميس أبريل 04, 2024 7:02 am من طرف gmalnagy
» ساعدوني وفهموني help me
الجمعة مارس 29, 2024 8:37 am من طرف linesoft
» كشف تسربات المياه في جدة
السبت مارس 23, 2024 7:23 pm من طرف gmalnagy
» خدمات كشف تسربات المياه بخصم 25% - اتصل الان
السبت مارس 23, 2024 7:22 pm من طرف gmalnagy
» كهربائي منازل بالرياض
الأحد مارس 17, 2024 1:52 pm من طرف رانيا حماد
» افضل شركة نقل عفش بالرياض نقل باكستاني 40% خصم | موقع الانوار
الأحد مارس 17, 2024 1:25 pm من طرف رانيا حماد