हां, सब कुछ के लिए तैयार बयान का उपयोग करें।
उन्हें एक बार पार्स किया जाता है।
वे एसक्यूएल इंजेक्शन हमलों से प्रतिरक्षा हैं।
वे एक बेहतर डिज़ाइन हैं क्योंकि आपको अपने एसक्यूएल के बारे में सोचना है और इसका उपयोग कैसे किया जाता है।
यदि आपको लगता है कि वे केवल एक बार उपयोग किए जाते हैं, तो आप बड़ी तस्वीर को नहीं देख रहे हैं। कुछ दिन, आपका डेटा या आपका आवेदन बदल जाएगा।
संपादित करें।
तैयार वक्तव्य आपको अपने एसक्यूएल के बारे में क्यों सोचते हैं?
आप एक स्ट्रिंग इकट्ठा (या बस पाठ की एक शाब्दिक ब्लॉक निष्पादित) आप एक नया PreparedStatement
वस्तु बनाने नहीं होती हैं। आप बस एसक्यूएल निष्पादित कर रहे हैं - इसे बहुत ही आकस्मिक तरीके से किया जा सकता है।
जब आपको PreparedStatement
बनाना (और सहेजना) बनाना है, तो आपको ज़िम्मेदारी आवंटन, encapsulation के बारे में कुछ और सोचना होगा। किसी भी एसक्यूएल प्रसंस्करण करने से पहले एक बयान की तैयारी एक राज्यव्यापी घटना है।
अतिरिक्त काम छोटा है, लेकिन महत्वहीन नहीं है। यही वजह है कि लोगों को ओआरएम और डेटा कैशिंग परत के बारे में सोचना शुरू करना पड़ता है, और इस तरह की चीजें उनके डेटाबेस पहुंच को अनुकूलित करने के लिए होती हैं।
तैयार बयानों के साथ, डेटाबेस पहुंच कम आकस्मिक, अधिक जानबूझकर है।
स्रोत
2008-12-28 22:21:58
आप इस पर आगे बढ़ सकते हैं, और हाइबरनेट (या कोई अन्य ओआरएम) का उपयोग कर सकते हैं: फिर आप (जावा) अपने जावा कोड के साथ पूरी तरह से एसक्यूएल मिश्रण से बच सकते हैं। इसके साथ एक सीखने की अवस्था है (एसएसपी संग्रह): लेकिन बहुत सारे दस्तावेज़ और ट्यूटोरियल। यदि आपका मौजूदा डेटा पहले से ही जावा बीन्स के रूप में संरचित है तो हाइबरनेट इनका उपयोग कर सकता है: यह आपके वर्गों के आधार पर टेबल भी उत्पन्न कर सकता है - या डीबी टेबल के आधार पर अपने जावा बीन्स बना सकता है। – monojohnny