मैं Spring3.x के लिए शुरुआत कर रहा हूं, मैं स्प्रिंग डीएओ समर्थन सीख रहा हूं। मैं नामांकित पैरामीटर जेडीबीसी टेम्पलेट और जेडीबीसी टेम्पलेट के बीच का अंतर जानना चाहता हूं। प्रदर्शन के माध्यम से कौन सा सबसे अच्छा है। और जब नामांकित पैरामीटर जेडीबीसी टेम्पलेट और जेडीबीसी टेम्पलेट के लिए कब जाना है। आपका जवाब मेरे जैसे शुरुआती लोगों को बहुत मदद करेगा।नामांकित पैरामीटर जेडीबीसी टेम्पलेट बनाम जेडीबीसी टेम्पलेट
उत्तर
कोई मापनीय अंतर प्रदर्शन नहीं है। नामांकित पैरामीटर जेडीबीसी टेम्पलेट एक सुविधा है जो आपको नामित पैरामीटर का उपयोग करने की अनुमति देती है। यदि आप वास्तव में उत्सुक हैं तो स्रोत कोड पर नज़र डालें जो डाउनलोड के लिए आसानी से उपलब्ध है। मुझे लगता है कि स्रोत कोड पढ़ने से मुझे फ़ोरम पर मिलने वाले उत्तरों में अधिक विश्वास मिलता है।
जब आप जेडीबीसी टेम्पलेट का उपयोग करते हैं तो आप इसे एसक्यूएल देते हैं जिसमें प्रत्येक पैरामीटर के लिए ?
प्लेसहोल्डर होता है जिसे आप SQL में प्रतिस्थापित करना चाहते हैं। जब आप कोड में पैरामीटर निर्दिष्ट करें आप एक सरणी में तर्क में पारित करने के लिए है और वे वे किस क्रम में सरणी में दिखाई देते हैं, इस तरह में आदत हो:
Object[] args = new Object[] {"x", "y"};
String sql = "select * from foo where a = ? and b = ?";
jdbcTemplate.query(sql, args, resultSetExtractor);
तो एसक्यूएल कि चलाने हो जाता है select * from foo where a = 'x' and b = 'y'
है।
नामांकित पैरामीटर जेडीबीसी टेम्पलेट आपको पैरामीटर प्लेसहोल्डर्स को नाम असाइन करने और मानचित्र में पास करने की अनुमति देता है ताकि टेम्पलेट प्लेसहोल्डर को मानचित्र नामों से मेल खा सके। तो अपने कोड लगेगा जैसे:
String sql = "select * from foo where a = :mya and b = :myb";
Map<String, Object> argMap = new HashMap<String, Object>();
argMap.put("mya", "x");
argMap.put("myb", "y");
namedParameterJdbcTemplate.query(sql, argMap, resultSetExtractor);
पहला उदाहरण के रूप में ही एसक्यूएल पैदा करने (और क्वेरी चलाने समय गहन हिस्सा है, तर्क प्रविष्टि के प्रदर्शन के लिए एक गैर मुद्दा है।)।
विचार यह है कि नाम से तर्कों से मेल खाने से उन्हें किसी विशेष क्रम में निर्दिष्ट करने से कम त्रुटि-प्रवण होता है। वास्तविक जीवन अनुप्रयोग में आमतौर पर एसक्यूएल को डीएओ कोड से अलग फ़ाइल में संग्रहीत किया जाता है, और गलती से गलत क्रम में पैरामीटर प्राप्त करना आसान हो सकता है।
कोई अन्य अंतर ??? – Sarma
@ शर्मा: यह एक बहुत ही विशिष्ट सवाल नहीं है। यदि आप अधिक जानकारी चाहते हैं तो आप स्रोत कोड देख सकते हैं। –
क्या समान डेटा स्रोत के साथ नामांकित पैरामीटर जेडीबीसी टेम्पलेट और जेडीबीसी टेम्पलेट दोनों का उपयोग करना संभव है? क्या वे एक-दूसरे में हस्तक्षेप करेंगे? – MaxG
- 1. ऑटोवायर जेडीबीसी टेम्पलेट
- 2. स्प्रिंग जेडीबीसी टेम्पलेट
- 3. स्प्रिंग जेडीबीसी टेम्पलेट और प्रीपेडस्टेटमेंटसेटर
- 4. वसंत जेडीबीसी बनाम जेडीबीसी
- 5. स्प्रिंग हाइबरनेट बनाम जेडीबीसी टेम्पलेट बनाम वसंत ओआरएम
- 6. स्प्रिंग जेडीबीसी टेम्पलेट में एकाधिक नामित पैरामीटर कैसे पास करें?
- 7. जेडीबीसी टेम्पलेट और इनसेट डेटा प्रकार
- 8. एकाधिक जेडीबीसी टेम्पलेट उदाहरण या नहीं?
- 9. जेडीबीसी
- 10. जेडीबीसी
- 11. जेडीबीसी
- 12. जेडीबीसी
- 13. क्या नामांकित पैरामीटर जेडीबीसी टेम्पलेट और जेनरेटेड केहोल्डर का उपयोग करके प्राथमिक कुंजी (या ROWID) निकालने का कोई तरीका है?
- 14. जेडीबीसी
- 15. जेडीबीसी
- 16. जेडीबीसी
- 17. जेडीबीसी
- 18. जेडीबीसी
- 19. जेडीबीसी
- 20. जेडीबीसी
- 21. जेडीबीसी
- 22. जेडीबीसी
- 23. जेडीबीसी
- 24. जेडीबीसी
- 25. जेडीबीसी
- 26. जेडीबीसी
- 27. वसंत जेडीबीसी टेम्पलेट: चयनित पंक्तियों को कैसे सीमित करें?
- 28. स्ट्रिंग तत्वों के लिए क्लॉज में जेडीबीसी टेम्पलेट
- 29. क्यों टेम्पलेट टेम्पलेट पैरामीटर
- 30. std :: enable_if: पैरामीटर बनाम टेम्पलेट पैरामीटर
आप जावाडोक क्यों नहीं पढ़ते? क्या आपको नहीं लगता कि यह समझा सकता है कि अंतर क्या है? जब प्रदर्शन की बात आती है, जिस तरह से क्वेरी बनाई जाती है और निष्पादित किया जाता है, इससे कोई फर्क नहीं पड़ता। सवाल खुद ही मायने रखता है। –