2010-03-17 13 views
5

कॉन्फ़िगरेशन फ़ाइल में SQL क्वेरीज़ संग्रहीत करने पर हर किसी की राय क्या है, इस पर एक सामान्य प्रश्न है?कॉन्फ़िगरेशन फ़ाइल के भीतर SQL क्वेरीज़ संग्रहीत करना?

क्या यह सिर्फ एक और बाइक शेड है?

चीयर्स, बेन

+0

क्या आप विस्तारित कर सकते हैं कि आप क्यों चाहते हैं। मुझे नहीं लगता कि यह हां/नहीं का एक साधारण मामला है और आप जो भी कर रहे हैं उसे हासिल करने का एक बेहतर, वैकल्पिक तरीका हो सकता है। – CResults

+1

क्षमा करें सिर्फ यह स्पष्ट करने के लिए कि मेरे मन में कोई विशेष परिदृश्य नहीं है और केवल इस विषय पर विचारों को देखने के लिए देख रहा था। –

उत्तर

1

अगर आप iBatis उपयोग कर रहे थे तुम क्या चाहते हैं क्या है। मुझे इसमें नुकसान नहीं दिख रहा है।

यह निश्चित रूप से अनावश्यक होने पर उन्हें गतिशील रूप से बनाते हुए धड़कता है।

1

नहीं। गंभीरता से;) इस समय यहां सफाई कर रहे हैं।

BLToolkit को देखने का प्रयास करें - उन्हें अमूर्त वर्ग पर सीधे गुणों में संग्रहीत करता है, वे गतिशील रूप से पूरे एक्सेसिंग कोड को उत्पन्न करते हैं। कॉन्फ़िगरेशन फ़ाइल में इसका उपयोग करने जैसा ही है, लेकिन बेवकूफ डीएएल कोड लिखने या देखे बिना।

2

मेरे लिए इतना बुरा नहीं लगता है, बशर्ते यह आवश्यकताओं को पूरा करे।

क्या आप ग्राहक को प्रश्न देखने और संपादित करने की अनुमति दे रहे हैं?

क्या आप विकास/परीक्षण के लिए इसे आसान बनाने की कोशिश कर रहे हैं?

मैं निश्चित रूप से कोड में प्रश्नों को एम्बेड करने के लिए इसे प्राथमिकता देता हूं।

लेकिन यह जोखिम है कि यह फ़ाइल थोड़ा अलग प्रश्नों (सॉर्ट एस्केन्डिंग, सॉर्ट डिस्केन्डिंग, एसयूएम (कोल 1) + एसयूएम (कोल् 2), एसयूएम (कोल 1) + एसयूएम (कोला 3) इत्यादि के असंख्य के साथ फूट जाएगी।)

1

उस मामले में, मैं उन्हें डाटाबेस में स्टोर चाहते हैं:

  1. यह मेरे प्रश्नों के साथ बेला के आसपास और मेरे ऐप को खतरे में नियमित रूप से जो के लिए कठिन बना सकते हैं।
  2. वे यह नहीं समझ सकते कि मैं अपना डेटा कैसे संग्रहीत करता हूं।
  3. परिवर्तन कॉन्फ़िगरेशन फ़ाइल को "धक्का" की आवश्यकता के बिना स्वचालित रूप से दिखाई देंगे।

लेकिन वास्तव में, मैं आपके वास्तविक परिदृश्य को जानने के बिना extrapolating हूँ। लेकिन कफ से बाहर, मैं नहीं चाहता कि दूसरों को यह देखना पड़े कि मैं अपनी स्कीमा से कैसे बातचीत करता हूं या यह कैसे निर्धारित किया जाता है।

1

उन्हें कहीं भी रखने के लिए आपका तर्क क्या है लेकिन कोड में? मैंने पाया है कि एसक्यूएल आपके कोड के समान दर पर नहीं बदलता है, जिसका अर्थ है कि यदि आप UserDao.java को बदलते हैं तो आपको एक ही समय में sql-statements.properties को बदलना होगा। ऐसा कहा जा रहा है कि कोड लिखे जाने से कई बार पढ़ा जाता है, इसलिए स्वच्छ कोडबेस में पठनीय कोड लिखना महत्वपूर्ण है। एक अलग फ़ाइल में एसक्यूएल कथन के साथ, एक डेवलपर को यह पता लगाने के लिए कहीं और देखना पड़ता है कि आपका उपयोगकर्ताडाओ किस प्रश्न का उपयोग करता है, जिससे आपका कोड अधिक कठिन हो जाता है।

संक्षिप्त उत्तर? यदि संभव हो तो मैं इससे बचूंगा।

संबंधित मुद्दे