"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > स्प्रिंग बूट + JPA + MySQL एप्लिकेशन कैसे शुरू करें

स्प्रिंग बूट + JPA + MySQL एप्लिकेशन कैसे शुरू करें

2024-08-28 को प्रकाशित
ब्राउज़ करें:230

प्रोजेक्ट बनाने के लिए आगे बढ़ने से पहले, मैं संक्षेप में बताऊंगा कि स्प्रिंग बूट, JPA और MySQL.

तकनीकें क्या हैं।
  • स्प्रिंग बूट: एक जावा फ्रेमवर्क है जिसका उपयोग स्प्रिंग अनुप्रयोगों के विकास को सरल बनाने के लिए किया जाता है, जो स्टैंडअलोन अनुप्रयोगों के निर्माण की अनुमति देता है, जिसे जटिल कॉन्फ़िगरेशन की आवश्यकता के बिना, एक सरल कमांड के साथ निष्पादित किया जा सकता है।
  • जेपीए: जावा पर्सिस्टेंस एपीआई एक जावा विनिर्देश है जो परिभाषित करता है कि जावा ऑब्जेक्ट को रिलेशनल डेटाबेस (ओआरएम) में कैसे मैप किया जाना चाहिए।
  • MySQL: विश्व प्रसिद्ध ओपन सोर्स रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (आरडीबीएमएस)। इसका उपयोग वेब और एंटरप्राइज़ अनुप्रयोगों में बड़ी मात्रा में डेटा को संग्रहीत, व्यवस्थित और प्रबंधित करने के लिए व्यापक रूप से किया जाता है।

इन 3 तकनीकों के साथ, हम मजबूत, स्केलेबल और उच्च-प्रदर्शन वाले वेब एप्लिकेशन विकसित कर सकते हैं।

परियोजना निर्माण

हम एक ऑनलाइन टूल में प्रोजेक्ट बनाएंगे, जिसका नाम है: स्प्रिंग इनिशियलाइज़र जो स्प्रिंग बूट प्रोजेक्ट्स के निर्माण की सुविधा प्रदान करता है।

जब आप यूआरएल दर्ज करेंगे, तो आपको इस तरह की एक स्क्रीन दिखाई देगी:

Como iniciar um aplicativo Spring Boot   JPA   MySQL

हम बाईं ओर कुछ चीजें कॉन्फ़िगर करेंगे, जैसे:

  • प्रोजेक्ट प्रकार: मेवेन
  • भाषा: जावा
  • स्प्रिंग बूट संस्करण: 3.3.2

प्रोजेक्ट मेटाडेटा में आप इस प्रकार जाएंगे:

  • समूह: br.com.(उदा: br.com.josemarinho)
  • कलाकृति और नाम: स्प्रिंग-जेपीए-mysql
  • विवरण: स्प्रिंग बूट, जेपीए और MySQL का उपयोग कर परियोजना
  • पैकेज का नाम: समूह और कलाकृतियों के आधार पर स्वचालित रूप से उत्पन्न।
  • पैकेजिंग: जार
  • जावा: 17

दाईं ओर आपके पास हमारे प्रोजेक्ट की निर्भरताएं होंगी, हमें 3 जोड़ने की जरूरत है, अर्थात्:

  • स्प्रिंग वेब
  • स्प्रिंग डेटा जेपीए
  • MySQL ड्राइवर

अंत में यह इस तरह दिखेगा:

Como iniciar um aplicativo Spring Boot   JPA   MySQL

कॉन्फ़िगरेशन के बाद, बस जेनरेट बटन दबाएं, जहां आप सभी प्रोजेक्ट निर्देशिकाओं/फ़ाइलों वाला एक ज़िप डाउनलोड करना शुरू कर देंगे। बाद में, बस अनज़िप करें और अपनी पसंदीदा आईडीई में खोलें।

पहली दौड़

जैसे ही आप प्रोजेक्ट खोलते हैं और प्रोग्राम चलाने का प्रयास करते हैं, यह निम्नलिखित कहते हुए एक रन-टाइम त्रुटि की रिपोर्ट करेगा:

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

ऐसा इसलिए होता है क्योंकि स्प्रिंग बूट एप्लिकेशन के लिए डेटासोर्स को स्वचालित रूप से कॉन्फ़िगर नहीं कर सकता है। क्या हम कॉन्फ़िगर करें?

प्रोजेक्ट में संसाधन नामक एक निर्देशिका होगी, इस निर्देशिका के भीतर कुछ फ़ाइलें हैं, उनमें से एप्लिकेशन.प्रॉपर्टीज़ नामक एक फ़ाइल है जो कि स्प्रिंग बूट प्रोजेक्ट की सेटिंग्स स्थित है। मैं इसके YAML/YML संस्करण का उपयोग करना पसंद करता हूं, इसलिए बस इस फ़ाइल को हटा दें और application.yml नामक एक अन्य फ़ाइल बनाएं, जो इस तरह दिखेगी:

Como iniciar um aplicativo Spring Boot   JPA   MySQL

आइए यूआरएल को परिभाषित करें जहां हमारा ऐप कनेक्ट होगा, ड्राइवर, उपयोगकर्ता नाम और पासवर्ड:

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

इकाई निर्माण

मेरे डेटाबेस में मेरे पास उपयोगकर्ता नामक एक साधारण तालिका है जिसमें 2 फ़ील्ड हैं:

  • आईडी: प्राथमिक कुंजी पूर्णांक स्वत: वृद्धि
  • उपयोगकर्ता: वर्कर(255)

Como iniciar um aplicativo Spring Boot   JPA   MySQL

इसके साथ, हम एक इकाई बनाते हुए इस तालिका को जावा संदर्भ में मैप करने के लिए पहला कदम उठाएंगे। ऐसा करने के लिए, उपयोगकर्ता नामक एक वर्ग बनाएं, अंत में इसे इस तरह दिखना चाहिए:

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

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

    // Getters e Setters
}
  • @Entity: क्लास को JPA इकाई के रूप में चिह्नित करता है। यह जेपीए को बताता है कि क्लास को डेटाबेस में बनाए रखा जाना चाहिए।
  • @टेबल(नाम = "उत्पाद"): डेटाबेस में उस तालिका का नाम निर्दिष्ट करता है जिसमें इकाई को मैप किया गया है। यदि यह एनोटेशन प्रदान नहीं किया गया है, तो जेपीए मानता है कि तालिका का नाम क्लास नाम के समान है।
  • @आईडी: इंगित करता है कि फ़ील्ड इकाई की प्राथमिक कुंजी है।
  • @GeneratedValue: उस रणनीति को इंगित करता है कि हम मान उत्पन्न करेंगे, इस मामले में हम चुनते हैं कि डेटाबेस स्वयं उन्हें हमारे लिए स्वचालित रूप से उत्पन्न करेगा, डिफ़ॉल्ट जनरेशन टाइप.ऑटो है।

अब जब हमने अपनी इकाई विकसित कर ली है, तो हमें अपनी रिपॉजिटरी बनाने की आवश्यकता है जो डेटाबेस में हेरफेर करने के लिए जेपीए को लागू करेगी।

जेपीए का उपयोग करके रिपॉजिटरी का निर्माण

शुरू करने के लिए, UsuarioRepositorio नामक एक इंटरफ़ेस बनाएं, यह इंटरफ़ेस दो सामान्य मानों को पार करते हुए JpaRepository की विशेषताओं को प्राप्त करेगा, पहला है entity और दूसरा है आईडी प्रकार। हम मदद नहीं कर सकते, लेकिन @Repository एनोटेशन के साथ क्लास को एनोटेट करना भूल गए, इस तरह:

@Repository
public interface UsuarioRepositorio extends JpaRepository { }

JpaRepository एक स्प्रिंग डेटा JPA इंटरफ़ेस है जो किसी एप्लिकेशन में डेटा एक्सेस ऑपरेशन करने के लिए कई तैयार तरीके प्रदान करता है, जैसे कि findAll(), जो किसी दिए गए डेटाबेस तालिका से सभी डेटा लौटाता है। लेख के अंत में मैं कुछ लिंक छोड़ूंगा जिनके बारे में अधिक बात करूंगा।

हमारे पास पहले से ही कुछ क्वेरीज़ करने के लिए पर्याप्त सामग्री है, आइए इस डेटा को देखने के लिए अपने एप्लिकेशन में एक प्रवेश बिंदु बनाएं।
एक नियंत्रक बनाएं जिसका नाम है: UsuariosController.
इसमें हम इसे 2 एनोटेशन के साथ एनोटेट करेंगे: @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 डेटा हैं।

नियंत्रक की सामग्री को सहेजने और प्रोजेक्ट को फिर से चलाने के बाद, जब हम url localhost:8080/v1/usuarios पर GET अनुरोध करते हैं, तो निम्न परिणाम आएगा:

Como iniciar um aplicativo Spring Boot   JPA   MySQL

हम देखते हैं कि डेटाबेस क्वेरी करते समय जो परिणाम प्राप्त हुआ था, वह जेपीए और स्प्रिंग बूट की बदौलत हमारे एप्लिकेशन में GET अनुरोध करते समय बिल्कुल वैसा ही था।

हम एक और पोस्ट के अंत तक पहुंच गए हैं। मैं कुछ संदर्भ लिंक छोड़ रहा हूँ:

  • जेपीए रिपॉजिटरी
  • उत्पन्न मूल्य एनोटेशन
  • MySQL JPA ड्राइवर
  • स्प्रिंग बूट YAML बनाम गुण
  • स्प्रिंग डेटा जेपीए

लेख भंडार इस लिंक पर पाया जा सकता है: प्रोजेक्ट रिपोजिटरी

एक आलिंगन और अच्छी पढ़ाई! फिर मिलेंगे।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/iamjose/como-iniciar-um-aplicationtivo-spring-boot-jpa-mysql-2nl4?1 यदि कोई उल्लंघन है, तो कृपया हटाने के लिए स्टडी_गोलंग@163.com पर संपर्क करें यह
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3