अच्छा समाधान, मुझे लगता है कि मैं नीचे आने वाला हैक महसूस करता हूं, अनुसरण करने और कोड का सबसे आसान तरीका है। ध्यान दें कि यह तैयार क्वेरी का उपयोग नहीं करता है लेकिन काम को वैसे भी किया जाता है:
उदाहरण: मान लीजिए कि आपके पास 'IN' खंड में पास करने के लिए पैरामीटर की एक सूची है। बस 'आईएन' खंड के अंदर एक डमी स्ट्रिंग डालें, कहें, "पैराम" पैरामीटर की सूची को दर्शाता है जो इस डमी स्ट्रिंग के स्थान पर आ जाएगा।
select * from TABLE_A where ATTR IN (PARAM);
आप अपने जावा कोड में एक ही स्ट्रिंग चर में सभी पैरामीटर एकत्र कर सकते हैं। यह इस प्रकार किया जा सकता है:
String param1 = "X";
String param2 = "Y";
String param1 = param1.append(",").append(param2);
आप अपने सभी मापदंडों एक एकल स्ट्रिंग वैरिएबल, 'param1', हमारे मामले में में अल्पविराम के द्वारा अलग जोड़ सकते हैं।
सभी पैरामीटर को एक स्ट्रिंग में एकत्र करने के बाद आप अपनी क्वेरी में डमी टेक्स्ट को प्रतिस्थापित कर सकते हैं, यानी, पैरामीटर स्ट्रिंग, यानी पैरामीटर 1 के साथ इस मामले में "पैराम"। यहां आपको यह करने की आवश्यकता है:
String query = query.replaceFirst("PARAM",param1); where we have the value of query as
query = "select * from TABLE_A where ATTR IN (PARAM)";
अब आप executeQuery() विधि का उपयोग कर अपनी क्वेरी निष्पादित कर सकते हैं। बस सुनिश्चित करें कि आपके पास कहीं भी आपकी क्वेरी में "PARAM" शब्द नहीं है। आप यह सुनिश्चित करने के लिए "PARAM" शब्द के बजाय विशेष वर्णों और अक्षरों के संयोजन का उपयोग कर सकते हैं ताकि क्वेरी में आने वाले ऐसे शब्द की कोई संभावना न हो। आशा है कि आपको समाधान मिल जाएगा।
संभावित डुप्लिकेट विकल्प?] (http://stackoverflow.com/questions/178479/preparedstatement-in-clause-alternatives) – luator