स्प्रिंग के JDBCTemplate के साथ प्रभावी IN() SQL क्वेरीज़
आपके पास एक IN() क्वेरी है जिसके लिए आप वर्तमान में एकाधिक पंक्तियों वाला एक क्लॉज बना रहे हैं कोड का:
StringBuilder jobTypeInClauseBuilder = new StringBuilder(); for(int i = 0; i < jobTypes.length; i ) { Type jobType = jobTypes[i]; if(i != 0) { jobTypeInClauseBuilder.append(','); } jobTypeInClauseBuilder.append(jobType.convert()); }
आप एक अधिक सुंदर तरीका चाहते हैं जो तैयार किए गए कथनों के पैरामीटर प्रतिस्थापन के समान है।
पैरामीटर स्रोत का उपयोग करना
अपनी वांछित सुंदरता प्राप्त करने के लिए , आप एक पैरामीटर स्रोत का उपयोग कर सकते हैं:
Setids = ...; MapSqlParameterSource parameters = new MapSqlParameterSource(); parameters.addValue("ids", ids); List foo = getJdbcTemplate().query("SELECT * FROM foo WHERE a IN (:ids)", parameters, getRowMapper());
NamedParameterJdbcTemplate
ध्यान दें कि यह केवल तभी काम करता है जब getJdbcTemplate() NamedParameterJdbcTemplate प्रकार का एक उदाहरण लौटाता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3