प्रोजेक्ट बनाने के लिए आगे बढ़ने से पहले, मैं संक्षेप में बताऊंगा कि स्प्रिंग बूट, JPA और MySQL.
तकनीकें क्या हैं।इन 3 तकनीकों के साथ, हम मजबूत, स्केलेबल और उच्च-प्रदर्शन वाले वेब एप्लिकेशन विकसित कर सकते हैं।
हम एक ऑनलाइन टूल में प्रोजेक्ट बनाएंगे, जिसका नाम है: स्प्रिंग इनिशियलाइज़र जो स्प्रिंग बूट प्रोजेक्ट्स के निर्माण की सुविधा प्रदान करता है।
जब आप यूआरएल दर्ज करेंगे, तो आपको इस तरह की एक स्क्रीन दिखाई देगी:
हम बाईं ओर कुछ चीजें कॉन्फ़िगर करेंगे, जैसे:
प्रोजेक्ट मेटाडेटा में आप इस प्रकार जाएंगे:
दाईं ओर आपके पास हमारे प्रोजेक्ट की निर्भरताएं होंगी, हमें 3 जोड़ने की जरूरत है, अर्थात्:
अंत में यह इस तरह दिखेगा:
कॉन्फ़िगरेशन के बाद, बस जेनरेट बटन दबाएं, जहां आप सभी प्रोजेक्ट निर्देशिकाओं/फ़ाइलों वाला एक ज़िप डाउनलोड करना शुरू कर देंगे। बाद में, बस अनज़िप करें और अपनी पसंदीदा आईडीई में खोलें।
जैसे ही आप प्रोजेक्ट खोलते हैं और प्रोग्राम चलाने का प्रयास करते हैं, यह निम्नलिखित कहते हुए एक रन-टाइम त्रुटि की रिपोर्ट करेगा:
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 नामक एक अन्य फ़ाइल बनाएं, जो इस तरह दिखेगी:
आइए यूआरएल को परिभाषित करें जहां हमारा ऐप कनेक्ट होगा, ड्राइवर, उपयोगकर्ता नाम और पासवर्ड:
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
ठीक है, अब प्रोजेक्ट को दोबारा चलाएं और आपको इस तरह आउटपुट दिखाई देगा।
मेरे डेटाबेस में मेरे पास उपयोगकर्ता नामक एक साधारण तालिका है जिसमें 2 फ़ील्ड हैं:
इसके साथ, हम एक इकाई बनाते हुए इस तालिका को जावा संदर्भ में मैप करने के लिए पहला कदम उठाएंगे। ऐसा करने के लिए, उपयोगकर्ता नामक एक वर्ग बनाएं, अंत में इसे इस तरह दिखना चाहिए:
@Entity @Table(name = "usuarios") public class Usuario { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String usuario; // Getters e Setters }
अब जब हमने अपनी इकाई विकसित कर ली है, तो हमें अपनी रिपॉजिटरी बनाने की आवश्यकता है जो डेटाबेस में हेरफेर करने के लिए जेपीए को लागू करेगी।
शुरू करने के लिए, 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() विधि का उपयोग कर रहा हूं जिसका उल्लेख मैंने रिपॉजिटरी में ऊपर किया है।
मेरी डेटाबेस तालिका में, मेरे पास पहले से ही कुछ डेटा है। एक सरल क्वेरी करने से आपको निम्नलिखित परिणाम मिलेगा:
हमने देखा कि हमारे पास तालिका में 3 डेटा हैं।
नियंत्रक की सामग्री को सहेजने और प्रोजेक्ट को फिर से चलाने के बाद, जब हम url localhost:8080/v1/usuarios पर GET अनुरोध करते हैं, तो निम्न परिणाम आएगा:
हम देखते हैं कि डेटाबेस क्वेरी करते समय जो परिणाम प्राप्त हुआ था, वह जेपीए और स्प्रिंग बूट की बदौलत हमारे एप्लिकेशन में GET अनुरोध करते समय बिल्कुल वैसा ही था।
हम एक और पोस्ट के अंत तक पहुंच गए हैं। मैं कुछ संदर्भ लिंक छोड़ रहा हूँ:
लेख भंडार इस लिंक पर पाया जा सकता है: प्रोजेक्ट रिपोजिटरी
एक आलिंगन और अच्छी पढ़ाई! फिर मिलेंगे।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3