كيفية الاتصال بقاعدة بيانات MySQL باستخدام Java

كيفية الاتصال بقاعدة بيانات MySQL باستخدام Java

يوفر Java JDBC (اتصال قاعدة بيانات جافا) كجزء من Java SDK (مجموعة تطوير البرامج). باستخدام هذا إطلاق النار ، من السهل جدًا الاتصال بقاعدة بيانات علائقية وإجراء عمليات مشتركة مثل الاستعلام عن السجلات وإدراجها وتحديثها وحذفها.





بينما يتم تضمين واجهة برمجة تطبيقات JDBC الأساسية في جافا ، فإن الاتصال بقاعدة بيانات معينة مثل MySQL أو SQL Server يتطلب مكونًا إضافيًا يُعرف باسم برنامج تشغيل قاعدة البيانات. برنامج تشغيل قاعدة البيانات هذا هو مكون برنامج يقوم بترجمة مكالمات JDBC الأساسية إلى تنسيق مفهوم بواسطة قاعدة البيانات هذه.





أفضل شيء يمكن مشاهدته على اليوتيوب

في هذه المقالة ، دعونا نلقي نظرة على تفاصيل الاتصال بقاعدة بيانات MySQL وكيفية تنفيذ بعض الاستعلامات معها.





برنامج تشغيل قاعدة بيانات MySQL

كما هو موضح أعلاه ، لتتمكن من الاتصال بقاعدة بيانات MySQL ، فأنت بحاجة إلى برنامج تشغيل JDBC لـ MySQL. وهذا ما يسمى ببرنامج التشغيل Connector / J ويمكن تنزيله من موقع MySQL هنا.

بمجرد تنزيل ملف ZIP (أو TAR.GZ) ، استخرج الأرشيف وانسخ ملف JAR mysql- موصل- جافا - bin.jar إلى موقع مناسب. هذا الملف مطلوب لتشغيل أي كود يستخدم MySQL JDBC Driver.



إنشاء نموذج قاعدة بيانات

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

اتصل بقاعدة البيانات باستخدام عميل من اختيارك وقم بتشغيل العبارات التالية لإنشاء نموذج قاعدة بيانات.





create database sample;

نحتاج أيضًا إلى اسم مستخدم وكلمة مرور لنتمكن من الاتصال بقاعدة البيانات (إلا إذا كنت تريد الاتصال كمسؤول ، وهي فكرة سيئة بشكل عام).

ما يلي يقوم بإنشاء مستخدم مسمى اختبار من سيتصل بقاعدة بيانات MySQL من نفس الجهاز الذي يتم تشغيله فيه (يُشار إليه بـ مضيف محلي ) ، باستخدام كلمة المرور سيكوريبود .





create user 'testuser'@'localhost' identified by 'securepwd';

إذا كنت تتصل بقاعدة بيانات تعمل على جهاز آخر (يسمى ريموتيمك ) ، تحتاج إلى استخدام ما يلي ( ريموتيمك يمكن أن يكون اسم مضيف أو عنوان IP):

create user 'testuser'@'remotemc' identified by 'securepwd';

الآن وقد تم إنشاء اسم المستخدم وكلمة المرور ، نحتاج إلى منح حق الوصول إلى نموذج قاعدة البيانات التي تم إنشاؤها مسبقًا.

grant all on sample.* to 'testuser'@'localhost';

أو ، إذا كانت قاعدة البيانات بعيدة:

grant all on sample.* to 'testuser'@'remotemc';

يجب عليك الآن التحقق من أنه يمكنك الاتصال بقاعدة البيانات كمستخدم أنشأته للتو بنفس كلمة المرور. يمكنك أيضًا تشغيل الأوامر التالية بعد الاتصال ، للتأكد من صحة جميع الأذونات.

create table joe(id int primary key auto_increment, name varchar(25));
drop table joe;

قم بإعداد مسار فئة Java

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

كيف تجد اسم أغنية في مقطع فيديو
Class.forName('com.mysql.jdbc.Driver');

يمكن أن يطرح الرمز استثناءً ، لذا يمكنك التقاطه إذا كنت تنوي التعامل معه (مثل تنسيق رسالة الخطأ الخاصة بواجهة المستخدم الرسومية).

try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
// use the exception here
}

من الشائع جدًا استدعاء هذا الرمز في كتلة ثابتة في الفصل بحيث يفشل البرنامج على الفور إذا تعذر تحميل برنامج التشغيل.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
}

بالطبع ، لتتمكن من العثور على برنامج التشغيل ، يجب استدعاء البرنامج مع برنامج التشغيل JAR (تم تنزيله واستخراجه أعلاه) المضمّن في مسار الفصل على النحو التالي.

جافا -cp mysql-connector-java - bin.jar: ...

الاتصال بـ MySQL من Java

الآن بعد أن قمنا بتربيع تفاصيل تحميل برنامج تشغيل MySQL من جافا ، دعنا نتصل بقاعدة البيانات. طريقة واحدة لإنشاء اتصال قاعدة البيانات هي استخدام مدير برامج التشغيل .

String jdbcUrl = ...;
Connection con = DriverManager.getConnection(jdbcUrl);

وما هو ملف jdbcUrl ؟ يشير إلى تفاصيل الاتصال ، بما في ذلك الخادم حيث توجد قاعدة البيانات واسم المستخدم وما إلى ذلك. إليك نموذج URL لمثالنا.

String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=secrepwd';

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

باستخدام هذا jdbcUrl ، هنا برنامج كامل للتحقق من الاتصال.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
static public void main(String[] args) throws Exception
{
String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=securepwd';
Connection con = DriverManager.getConnection(jdbcUrl);
System.out.println('Connected!');
con.close();
}
}

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

try(Connection con = DriverManager.getConnection(jdbcUrl)) {
System.out.println('Connected!');
}

كما هو مذكور أعلاه ، إنها فكرة سيئة أن تقوم بتضمين كلمة السرية في عنوان URL لـ JDBC. لتحديد اسم المستخدم وكلمة المرور مباشرةً ، يمكنك استخدام خيار الاتصال التالي بدلاً من ذلك.

كيفية حذف حدث من التقويم
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

الاستعلام عن قاعدة البيانات من جافا

الآن وقد تم إنشاء الاتصال بقاعدة البيانات ، دعنا نرى كيفية إجراء استعلام ، مثل الاستعلام عن إصدار قاعدة البيانات:

select version();

يتم تنفيذ الاستعلام في جافا على النحو التالي. أ بيان - تصريح يتم إنشاء الكائن ويتم تنفيذ الاستعلام باستخدام تنفيذ الاستعلام() الطريقة التي تقوم بإرجاع ملف مجموعة النتائج .

String queryString = 'select version()';
Statement stmt = con.createStatement();
ResultSet rset = stmt.executeQuery(queryString);

اطبع النسخة من ملف مجموعة النتائج على النحو التالي. 1 يشير إلى فهرس العمود في النتائج ، بدءًا من 1.

while ( rset.next()) {
System.out.println('Version: ' + rset.getString(1));
}

بعد معالجة النتائج ، يجب إغلاق الكائنات.

rset.close();
stmt.close();

وهذا يشمل كل ما يتعلق بالاتصال بـ MySQL من جافا وتنفيذ استعلام بسيط.

تحقق أيضًا من ملفات ورقة الغش لأوامر SQL .

يشارك يشارك سقسقة بريد الالكتروني هل من المقبول تثبيت Windows 11 على جهاز كمبيوتر غير متوافق؟

يمكنك الآن تثبيت Windows 11 على أجهزة الكمبيوتر القديمة باستخدام ملف ISO الرسمي ... ولكن هل من الجيد القيام بذلك؟

اقرأ التالي
مواضيع ذات صلة
  • برمجة
  • جافا
  • SQL
نبذة عن الكاتب جاي سريدهار(تم نشر 17 مقالة) المزيد من Jay Sridhar

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك