2010-06-02 3 views
6

मैंने अभी MySQL का उपयोग करना शुरू कर दिया है और मैं बस स्ट्रिंग के साथ जाग रहा हूं! मेरा मतलब है कि कंपाइलर इस तरह की त्रुटियों को पकड़ नहीं सकता है और यह सिर्फ एक गड़बड़ है! क्या कोई रैपर या कुछ प्रकार का वर्ग है जिसे मैं जोड़ सकता हूं जो एक ऐसा कार्य करने जैसा सरल है जो एक टेबल जोड़ता है और तर्क मांगता है?MySQL प्रश्नों की बेहतर आतंक जांच कैसे प्राप्त करें

मुझे यकीन है कि ऐसा कोई उपकरण है लेकिन मुझे यह नहीं मिल रहा है या इसका नाम पता नहीं है।

+0

हां, एसक्यूएल प्रश्नों के साथ काम ** ** ** तारों के साथ काम कर रहा है। बेहद सुविधाजनक। इसमें आपके लिए क्या गलत था? –

उत्तर

4

आप मूल रूप से ऑब्जेक्ट रिलेशनल मैपर की तलाश में हैं। Hibernate इस क्षेत्र में पियोनियर में से एक है। JPA हाइबरनेट के पीछे वाले व्यक्ति द्वारा गठित इस क्षेत्र में एक नया और अच्छी तरह से स्थापित जावा ईई मानक है। हाइबरनेट और EclipseLink जेपीए कार्यान्वयन प्रदान करता है।

जेपीए के लिए "अच्छे पुराने" हाइबरनेट और Eclipse Dali के लिए डेटाबेस मॉडल और इसके विपरीत Hibernate Tools जैसे जावा क्लास को स्वत: उत्पन्न करने के लिए आईडीई उपकरण मौजूद हैं।

यदि आप ओआरएम का उपयोग नहीं करना चाहते हैं और/या मॉडल ऑब्जेक्ट्स को स्वत: उत्पन्न नहीं करना चाहते हैं, तो आपको बस यह सुनिश्चित करना होगा कि आप डेटाबेस मॉडल के लिए सही मॉडल ऑब्जेक्ट्स डिज़ाइन करें। अर्थात। BIGINT फ़ील्ड के लिए Long संपत्ति का उपयोग करें, BigDecimalDECIMAL फ़ील्ड, आदि के लिए संपत्ति। आप this page में डिफ़ॉल्ट मैपिंग का अवलोकन देख सकते हैं।

"सादा वेनिला" जेडीबीसी में आपको कम से कम PreparedStatement स्ट्रिंग के रूप में संगत करने के बजाय SQL क्वेरी लिखने के तरीकों का उपयोग करना चाहिए। setLong(), setBigDecimal(), आदि जैसे विशिष्ट डेटाटाइप के लिए बहुत सारे setXXX() विधियां हैं। PreparedStatement न केवल SQL क्वेरी में Date और InputStream जैसी पूर्ण योग्य जावा ऑब्जेक्ट्स को सेट करना आसान बनाता है, लेकिन यह SQL injectionattacks से कोड को भी रोकता है। Sun JDBC tutorial में आप PreparedStatement के बारे में अधिक जान सकते हैं और आप this article में मूल किकऑफ डीएओ ट्यूटोरियल पा सकते हैं।

+0

tnx बीमार इस सब को देखकर शुरू करें – kalix

1

जेडीबीसी prepared statements को आज़माएं।

+0

प्रश्न शीर्षक और वर्तनी में एक लिल सरलीकृत – kalix

+0

"डमी" दिखता है, बस यही सुझाव देता है। – bakkal