كيفية الاتصال بقاعدة بيانات في جافا؟ - برنامج JDBC التعليمي



ستخبرك هذه المقالة بكيفية توصيل قاعدة بيانات MySQL بجافا. JDBC هي واحدة من Java API القياسية للاتصال المستقل عن قاعدة البيانات بين Java ومجموعة واسعة من قواعد البيانات.

لكونها واحدة من أبرز لغات البرمجة ، فهي توفر دعمًا واسعًا لقواعد البيانات. يساعدنا على الاتصال بقواعد البيانات المختلفة من خلال (اتصال قاعدة بيانات جافا). في هذه المقالة ، سأخبرك بكيفية الاتصال بقاعدة بيانات وتنفيذ الاستعلامات باستخدام JDBC.

يتم تناول الموضوعات أدناه في هذه المقالة:





مقدمة إلى JDBC

تعد JDBC واحدة من Java API القياسية للاتصال المستقل عن قاعدة البيانات بين ومجموعة واسعة من قواعد البيانات.تتيح لك واجهة برمجة التطبيقات هذه تشفير بيانات طلب الوصول بتنسيق لغة الاستعلام الهيكلية (SQL). هذهيتضمن بشكل أساسي فتح اتصال وإنشاء قاعدة بيانات SQL وتنفيذ استعلامات SQL ثم الوصول إلى المخرجات.

يمكن استخدام واجهة برمجة تطبيقات JDBC للوصول إلى البيانات المجدولة المخزنة في أي قاعدة بيانات علائقية. باستخدام هذا ، يمكنك تحديث البيانات وحفظها وجلبها وحذفها من قواعد البيانات. إنه مشابه لاتصال قواعد البيانات المفتوح (ODBC) الذي توفره Microsoft.



لفهم أفضل لعمل JDBC ، دعنا نتعمق في الموضوع ونفهم البنية التي تكمن وراء اتصال قاعدة بيانات Java.

مكونات JDBC الشائعة

توفر واجهة برمجة تطبيقات JDBC الواجهات والفئات التالية & ناقص

  • مدير برامج التشغيل: يستخدم هذا بشكل أساسي لإدارة قائمة برامج تشغيل قاعدة البيانات. سيتم استخدام برنامج التشغيل الذي يتعرف على بروتوكول فرعي معين لتأسيس اتصال قاعدة البيانات.



  • السائق هي واجهة تتعامل مع الاتصالات مع خادم قاعدة البيانات. كما أنها تلخص التفاصيلالتي ترتبط أثناء العمل مع كائنات برنامج التشغيل.

  • اتصال هي واجهة تتكون من جميع الطرق المطلوبة للاتصال بقاعدة البيانات. يتعامل كائن الاتصال مع وظائف الاتصال لقاعدة البيانات. سياق الكلام.

الآن دعنا ننتقل إلى الموضوع التالي ونلقي نظرة على الخطوات المطلوبة لإنشاء تطبيق JDBC.

خطوات إنشاء تطبيق JDBC

لإنشاء تطبيق JDBC ، عليك اتباع بعض الخطوات. دعونا نرى ما هم.

خطوات إنشاء تطبيق JDBC - برنامج تعليمي Java متقدم - Edureka

  1. استيراد الحزم: تحتاج إلى تضمين جميع الحزم التي تحتوي على فئات JDBC المطلوبة برمجة قواعد البيانات . في أغلب الأحيان ، باستخدام استيراد java.sql. * سوف يكفي.

  2. قم بتسجيل برنامج تشغيل JDBC: هنا يجب عليك تهيئة برنامج التشغيل حتى تتمكن من فتح قناة اتصال بقاعدة البيانات.

  3. افتح اتصالاً: هنا ، يمكنك استخدام ملف getConnection () طريقة لإنشاء كائن اتصال ، والتي تمثل اتصالاً فعليًا بقاعدة البيانات.

  4. تنفيذ استعلام: يتطلب هذا في الواقع استخدام كائن من النوع عبارة لبناء وتقديم عبارة SQL إلى قاعدة البيانات.

  5. استخراج البيانات من مجموعة النتائج: من المقترح أن تستخدم ملف getXXX () طريقة لاسترداد البيانات من مجموعة النتائج.

  6. نظف البيئة: هنا ، من الضروريإغلاق جميع موارد قاعدة البيانات بشكل صريح مقابل الاعتماد على مجموعة المهملات الخاصة بـ JVM.

الآن بعد أن رأيت العديد من الخطوات المتضمنة لإنشاء تطبيق JDBC ، دعنا نرى مثالاً على كود لإنشاء قاعدة بيانات وإنشاء اتصال.

package Edureka import java.sql. * import java.sql.DriverManager public class example {// JDBC driver name and database URL static final String JDBC_DRIVER = 'com.mysql.jdbc.Driver' static final String DB_URL = 'jdbc: mysql: // localhost / emp '// بيانات اعتماد قاعدة البيانات static final String USER =' root 'static final String PASS =' 'public static void main (String [] args) {Connection conn = null Statement stmt = null try {// STEP 2 : تسجيل برنامج تشغيل JDBC Class.forName ('com.mysql.cj.jdbc.Driver') // الخطوة 3: افتح اتصال System.out.println ('الاتصال بقاعدة البيانات ...') conn = DriverManager.getConnection (DB_URL ، 'root'، '') // الخطوة 4: تنفيذ استعلام System.out.println ('إنشاء عبارة ...') stmt = conn.createStatement () String sql sql = 'SELECT id، first، last، age من ResultSet للموظفين rs = stmt.executeQuery (sql) // الخطوة 5: استخراج البيانات من مجموعة النتائج بينما (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)} // الخطوة 6: بيئة التنظيف rs.close () stmt.close () conn.close ()} catch (SQLException se) {// معالجة الأخطاء لـ JDBC se.printStackTrace ()} catch (استثناء e) {// معالجة أخطاء Class.forName e.printStackTrace ()} أخيرًا {// أخيرًا تم استخدام حظر لإغلاق الموارد حاول {if (stmt! = null) stmt.close ()} catch (SQLException se2) {} // لا يمكن فعل شيء حاول {if (conn! = null) conn.close ()} catch (SQLException se) {se.printStackTrace ()} // end finish try} // end try System.out.println ('Goodbye!')} // end main} // end مثال

أعلاه رمز ينشئ جدول في قاعدة بيانات المضيف المحلي الخاص بك. لإدراج القيم في قاعدة البيانات التي تم إنشاؤها ، يمكنك الرجوع إلى الكود أدناه. سوف أكتب الرمز فقط للخطوة 4. تظل بقية الكود كما هي أعلاه.

عامل النطاق c ++
// الخطوة 4: تنفيذ استعلام System.out.println ('إنشاء جدول في قاعدة بيانات معينة ...') stmt = conn.createStatement () String sql = 'CREATE TABLE EMPLOYEES' + '(id INTEGER not NULL،' + 'first VARCHAR (255)،' + 'last VARCHAR (255)،' + 'age INTEGER،' + 'PRIMARY KEY (id))' stmt.executeUpdate (sql) System.out.println ('تم إنشاء الجدول في قاعدة بيانات معينة ... ') System.out.println (' إدراج السجلات في الجدول ... ') stmt = conn.createStatement () String sql =' INSERT INTO Employees VALUES (100، 'Kriss'، 'Kurian'، 18) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees VALUES (101، 'Enrique'، 'John'، 25) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees (102، 'Taylor'، 'Swift' ، 30) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees VALUES (103، 'Linkin'، 'Park'، 28) 'stmt.executeUpdate (sql) System.out.println (' إدراج السجلات في الجدول. .. ')

هذه هي الطريقة التي يمكنك بها إنشاء اتصال بقاعدة البيانات وإدراج القيم في الجداول. الآن دعنا ننتقل إلى أبعد من ذلك ونفهم أنواع برامج تشغيل JDBC المختلفة

أنواع برنامج تشغيل JDBC

يتم استخدام برامج تشغيل JDBC لتنفيذ واجهات التعامل المحددة في JDBC API ، للتفاعل مع خادم قاعدة البيانات.في الأساس ، أ سائق JDBC يفعل ثلاثة أشياء وهي كالتالي:
1. يؤسس اتصالاً بمصدر بيانات.
2. سيرسل استفسارات وبيانات التحديث إلى مصدر البيانات.
3. أخيرًا ، يعالج النتائج.

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

الآن دعنا ننتقل إلى أبعد من ذلك ونفهم اتصالات JDBC.

اتصالات JDBC

  • استيراد حزم JDBC: أضف استيراد البيانات الخاصة بك لاستيراد الفئات المطلوبة في كود Java الخاص بك.

  • تسجيل برنامج تشغيل JDBC: في t خطوته ، لتحميل تطبيق برنامج التشغيل المطلوب في الذاكرة بحيث يمكنه تلبية طلبات JDBC. هناك طريقتان لتسجيل السائق.

    • أنسب طريقة لتسجيل سائق هو استخدام Java للاسم () طريقة لتحميل ملف فئة السائق ديناميكيًا في الذاكرة ، والذي يقوم بتسجيله تلقائيًا. هذه الطريقة مناسبة لأنها تسمح لك بجعل تسجيل السائق قابلاً للتكوين والمحمول. ألق نظرة على الكود أدناه:

      جرب {Class.forName ('oracle.jdbc.driver.OracleDriver')} catch (ClassNotFoundException ex) System.out.println ('خطأ: تعذر تحميل فئة برنامج التشغيل!') System.exit (1)}
    • الطريقة الثانية التي يمكنك استخدامها لتسجيل برنامج التشغيل هي استخدام الثابت سائق () طريقة.

      جرب {Driver myDriver = new oracle.jdbc.driver.OracleDriver () DriverManager.registerDriver (myDriver)} catch (ClassNotFoundException ex) {System.out.println ('خطأ: تعذر تحميل فئة برنامج التشغيل!') System.exit (1 )}
  • يجب عليك استخدام ملف سائق () الطريقة إذا كنت تستخدم JVM غير متوافق مع JDK ، مثل تلك التي توفرها Microsoft. هنا كل نموذج يتطلب قاعدة بيانات URL .

  • صياغة عنوان URL لقاعدة البيانات: تعد صياغة عنوان URL ضرورية لإنشاء عنوان منسق بشكل صحيح يشير إلى قاعدة البيانات التي تريد الاتصال بها. بمجرد تحميل برنامج التشغيل ، يمكنك إنشاء اتصال باستخدام ملف DriverManager.getConnection () طريقة. طرق DriverManager.getConnection () هي & ناقص

    • getConnection (عنوان url سلسلة)

    • getConnection (عنوان url للسلسلة ، خاصية الخصائص)

    • getConnection (عنوان url للسلسلة ، مستخدم السلسلة ، كلمة مرور السلسلة)

  • إنشاء كائن اتصال

يمكنك إنشاء اتصال باستخدام عنوان URL لقاعدة البيانات واسم المستخدم وكلمة المرور وأيضًا باستخدام كائن الخصائص.

  • قريب

أخيرًا ، لإنهاء جلسة قاعدة البيانات ، تحتاج إلى إغلاق جميع اتصالات قاعدة البيانات. ومع ذلك ، إذا نسيت ، فسيقوم جامع القمامة بجافا بإغلاق الاتصال عندما يقوم بتنظيف الكائنات التي لا معنى لها.

conn.close () // تستخدم لإغلاق الاتصال

كان هذا كل شيء عن اتصال قاعدة بيانات Java. إذا كنت ترغب في معرفة المزيد عن JDBC ، يمكنك الرجوع إلى هذه المقالة على . يقودنا هذا إلى نهاية المقالة حول 'كيفية الاتصال بقاعدة بيانات'. آمل أن أكون قد ألقيت بعض الضوء على معرفتك على JDBC.

تفحص ال من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. نحن هنا لمساعدتك في كل خطوة في رحلتك ، لكي تصبح بجانب أسئلة المقابلة في جافا هذه ، توصلنا إلى منهج مصمم للطلاب والمهنيين الذين يريدون أن يصبحوا مطور جافا.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات بمقال 'كيفية الاتصال بقاعدة بيانات' وسنعاود الاتصال بك في أقرب وقت ممكن.