قبل أن ننتقل إلى إنشاء المشروع، سأشرح بإيجاز ما هي التقنيات Spring Boot، JPA و MySQL.
هي.باستخدام هذه التقنيات الثلاث، يمكننا تطوير تطبيقات ويب قوية وقابلة للتطوير وعالية الأداء.
سنقوم بإنشاء المشروع في أداة عبر الإنترنت تسمى: Spring Initializr والتي تسهل إنشاء مشاريع Spring Boot.
عند إدخال عنوان URL، ستظهر لك شاشة مثل هذه:
سوف نقوم بتهيئة بعض الأشياء على الجانب الأيسر، مثل:
في البيانات الوصفية للمشروع، ستنتقل إلى:
على الجانب الأيمن سيكون لديك تبعيات مشروعنا، نحتاج إلى إضافة 3، وهي:
في النهاية سيكون بالشكل التالي:
بعد التكوين، ما عليك سوى الضغط على زر إنشاء ، حيث ستبدأ في تنزيل ملف مضغوط يحتوي على جميع أدلة/ملفات المشروع. بعد ذلك، ما عليك سوى فك الضغط وفتحه في بيئة التطوير المتكاملة (IDE) المفضلة لديك.
بمجرد فتح المشروع ومحاولة تشغيل البرنامج، سيبلغ عن خطأ في وقت التشغيل يقول ما يلي:
Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class
يحدث هذا لأن Spring Boot لا يمكنه تكوين مصدر بيانات للتطبيق تلقائيًا. هل يجب علينا التكوين؟
في المشروع سيكون هناك دليل يسمى الموارد، داخل هذا الدليل هناك بعض الملفات، من بينها ملف يسمى application.properties وهو المكان الذي توجد فيه إعدادات مشروع التمهيد الربيعي. أحب استخدام إصدار YAML/YML الخاص به، لذا فقط احذف هذا الملف وأنشئ ملفًا آخر يسمى application.yml، ويبدو كالتالي:
دعونا نحدد عنوان URL حيث سيتصل تطبيقنا، برنامج التشغيل، اسم المستخدم و كلمة المرور:
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver username: username password: password url: jdbc:mysql://127.0.0.1:3306/seu_banco_de_dados
في application.properties سيبدو كما يلي:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.username=username spring.datasource.password=password spring.datasource.url=jdbc:mysql://localhost:3306/seu_banco_de_dados
حسنًا، الآن فقط قم بتشغيل المشروع مرة أخرى وسترى الإخراج مثل هذا.
في قاعدة البيانات الخاصة بي لدي جدول بسيط يسمى المستخدمين والذي يوجد به حقلين:
بواسطته، سنتخذ الخطوة الأولى لتعيين هذا الجدول في سياق Java، وإنشاء كيان. للقيام بذلك، قم بإنشاء فئة تسمى المستخدم، في النهاية يجب أن تبدو كما يلي:
@Entity @Table(name = "usuarios") public class Usuario { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String usuario; // Getters e Setters }
الآن بعد أن قمنا بتطوير كياننا، نحتاج إلى إنشاء مستودعاتنا التي ستنفذ JPA لإجراء عمليات المعالجة في قاعدة البيانات.
للبدء، قم بإنشاء واجهة تسمى UsuarioRepositorio، سترث هذه الواجهة خصائص JpaRepository بتمرير قيمتين عامتين، الأولى هي الكيان والثانية هي نوع المعرف . لا يسعنا إلا أن ننسى التعليق التوضيحي للفصل باستخدام التعليق التوضيحي @Repository، والذي يبدو كالتالي:
@Repository public interface UsuarioRepositorio extends JpaRepository{ }
JpaRepository هي واجهة Spring Data JPA التي توفر العديد من الطرق الجاهزة لتنفيذ عمليات الوصول إلى البيانات في تطبيق ما، مثل findAll()، الذي يقوم بإرجاع جميع البيانات من جدول قاعدة بيانات معين. وفي نهاية المقال سأترك بعض الروابط تتحدث عنها أكثر.
لدينا بالفعل ما يكفي لإجراء بعض الاستعلامات، فلنقم بإنشاء نقطة دخول في تطبيقنا لرؤية هذه البيانات.
قم بإنشاء وحدة تحكم تسمى: UsuariosController.
سنضيف فيه تعليقين توضيحيين: @RestController و @RequestMapping("/v1/usuarios") لتعيين مسار وحدة التحكم الخاصة بنا
لنجري حقن التبعية على UsuarioRepository وننشئ نقطة نهاية GET للحصول على البيانات من وحدة التحكم.
في النهاية سيكون بالشكل التالي:
@RestController @RequestMapping("/v1/usuarios") public class UsuarioController { private UsuarioRepositorio usuarioRepositorio; public UsuarioController(UsuarioRepositorio usuarioRepositorio) { this.usuarioRepositorio = usuarioRepositorio; } @GetMapping() public ResponseEntity getUsuarios() { return ResponseEntity.status(HttpStatus.OK).body(usuarioRepositorio.findAll()); } }
لاحظ أنني أستخدم طريقة findAll() التي ذكرتها أعلاه في المستودع.
في جدول قاعدة البيانات، لدي بالفعل بعض البيانات. سيؤدي إجراء استعلام بسيط إلى الحصول على النتيجة التالية:
لقد رأينا أن لدينا 3 بيانات في الجدول.
بعد حفظ محتوى وحدة التحكم وتشغيل المشروع مرة أخرى، عندما نقوم بتقديم طلب GET على عنوان url localhost:8080/v1/usuarios، ستظهر النتيجة التالية:
نرى أن النتيجة التي تم استردادها عند إجراء استعلام قاعدة البيانات كانت هي نفسها تمامًا عند تقديم طلب GET في تطبيقنا بفضل JPA وSpring Boot.
لقد وصلنا إلى نهاية مشاركة أخرى. سأترك بعض الروابط المرجعية:
يمكن العثور على مستودع المقالات على هذا الرابط: مستودع المشروع
عناق ودراسات جيدة! حتى وقت لاحق.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3