"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية بدء تطبيق Spring Boot + JPA + MySQL

كيفية بدء تطبيق Spring Boot + JPA + MySQL

تم النشر بتاريخ 2024-08-28
تصفح:499

قبل أن ننتقل إلى إنشاء المشروع، سأشرح بإيجاز ما هي التقنيات Spring Boot، JPA و MySQL.

هي.
  • Spring Boot: هو إطار عمل Java يستخدم لتبسيط تطوير تطبيقات Spring، مما يسمح بإنشاء تطبيقات مستقلة، والتي يمكن تنفيذها بأمر بسيط، دون الحاجة إلى تكوين معقد.
  • JPA: Java Persistence API هي إحدى مواصفات Java التي تحدد كيفية تعيين كائنات Java إلى قواعد البيانات العلائقية (ORM).
  • MySQL: نظام إدارة قواعد البيانات العلائقية مفتوح المصدر الشهير عالميًا (RDBMS). يُستخدم على نطاق واسع لتخزين وتنظيم وإدارة كميات كبيرة من البيانات في تطبيقات الويب والمؤسسات.

باستخدام هذه التقنيات الثلاث، يمكننا تطوير تطبيقات ويب قوية وقابلة للتطوير وعالية الأداء.

إنشاء المشروع

سنقوم بإنشاء المشروع في أداة عبر الإنترنت تسمى: Spring Initializr والتي تسهل إنشاء مشاريع Spring Boot.

عند إدخال عنوان URL، ستظهر لك شاشة مثل هذه:

Como iniciar um aplicativo Spring Boot   JPA   MySQL

سوف نقوم بتهيئة بعض الأشياء على الجانب الأيسر، مثل:

  • نوع المشروع: مافن
  • اللغة: جافا
  • إصدار التمهيد الربيعي: 3.3.2

في البيانات الوصفية للمشروع، ستنتقل إلى:

  • المجموعة: br.com.(على سبيل المثال: br.com.josemarinho)
  • المنتج والاسم: spring-jpa-mysql
  • الوصف: المشروع باستخدام Spring Boot وJPA وMySQL
  • اسم الحزمة: يتم إنشاؤها تلقائيًا بناءً على المجموعة والقطعة الأثرية.
  • التغليف: جرة
  • جافا: 17

على الجانب الأيمن سيكون لديك تبعيات مشروعنا، نحتاج إلى إضافة 3، وهي:

  • شبكة الربيع
  • بيانات الربيع JPA
  • برنامج تشغيل MySQL

في النهاية سيكون بالشكل التالي:

Como iniciar um aplicativo Spring Boot   JPA   MySQL

بعد التكوين، ما عليك سوى الضغط على زر إنشاء ، حيث ستبدأ في تنزيل ملف مضغوط يحتوي على جميع أدلة/ملفات المشروع. بعد ذلك، ما عليك سوى فك الضغط وفتحه في بيئة التطوير المتكاملة (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، ويبدو كالتالي:

Como iniciar um aplicativo Spring Boot   JPA   MySQL

دعونا نحدد عنوان 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

حسنًا، الآن فقط قم بتشغيل المشروع مرة أخرى وسترى الإخراج مثل هذا.

Como iniciar um aplicativo Spring Boot   JPA   MySQL

إنشاء الكيان

في قاعدة البيانات الخاصة بي لدي جدول بسيط يسمى المستخدمين والذي يوجد به حقلين:

  • المعرف: زيادة تلقائية لعدد صحيح للمفتاح الأساسي
  • المستخدم: فارتشار(255)

Como iniciar um aplicativo Spring Boot   JPA   MySQL

بواسطته، سنتخذ الخطوة الأولى لتعيين هذا الجدول في سياق Java، وإنشاء كيان. للقيام بذلك، قم بإنشاء فئة تسمى المستخدم، في النهاية يجب أن تبدو كما يلي:

@Entity
@Table(name = "usuarios")
public class Usuario {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    private String usuario;

    // Getters e Setters
}
  • @Entity: وضع علامة على الفصل باعتباره كيان JPA. هذا يخبر JPA أن الفصل يجب أن يستمر في قاعدة البيانات.
  • @Table(name = "product"): يحدد اسم الجدول في قاعدة البيانات التي تم تعيين الكيان إليها. إذا لم يتم توفير هذا التعليق التوضيحي، يفترض JPA أن اسم الجدول هو نفس اسم الفئة.
  • @Id: يشير إلى أن الحقل هو المفتاح الأساسي للكيان.
  • @GeneratedValue: تشير إلى الإستراتيجية التي سننشئ بها القيم، وفي هذه الحالة نختار أن تقوم قاعدة البيانات نفسها بتوليدها تلقائيًا لنا، والقيمة الافتراضية هي GenerationType.AUTO.

الآن بعد أن قمنا بتطوير كياننا، نحتاج إلى إنشاء مستودعاتنا التي ستنفذ JPA لإجراء عمليات المعالجة في قاعدة البيانات.

إنشاء المستودعات باستخدام 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() التي ذكرتها أعلاه في المستودع.

في جدول قاعدة البيانات، لدي بالفعل بعض البيانات. سيؤدي إجراء استعلام بسيط إلى الحصول على النتيجة التالية:

Como iniciar um aplicativo Spring Boot   JPA   MySQL

لقد رأينا أن لدينا 3 بيانات في الجدول.

بعد حفظ محتوى وحدة التحكم وتشغيل المشروع مرة أخرى، عندما نقوم بتقديم طلب GET على عنوان url localhost:8080/v1/usuarios، ستظهر النتيجة التالية:

Como iniciar um aplicativo Spring Boot   JPA   MySQL

نرى أن النتيجة التي تم استردادها عند إجراء استعلام قاعدة البيانات كانت هي نفسها تمامًا عند تقديم طلب GET في تطبيقنا بفضل JPA وSpring Boot.

لقد وصلنا إلى نهاية مشاركة أخرى. سأترك بعض الروابط المرجعية:

  • مستودع Jpa
  • شرح القيمة المولدة
  • برنامج تشغيل MySQL JPA
  • Spring Boot YAML مقابل الخصائص
  • بيانات الربيع JPA

يمكن العثور على مستودع المقالات على هذا الرابط: مستودع المشروع

عناق ودراسات جيدة! حتى وقت لاحق.

بيان الافراج يتم استنساخ هذه المقالة على: https://dev.to/iamjose/como-iniciar-um-aplicativo-spring-boot-jpa-mysql-2nl4؟1 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفها.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3