2013-01-21 11 views
14

स्प्रिंग-जेडीबीसी के साथ प्रयोग करना। मैं संदर्भ के रूप में this का उपयोग कर रहा हूँ। मैं उन कलाकारों की एक सूची प्राप्त करने की कोशिश कर रहा हूं जिनके पास अंतिम नाम है।परिणाम प्राप्त करने के लिए नामांकित पैरामीटर जेडीबीसीटीप्लेट में स्ट्रिंग की सूची का उपयोग कैसे करें

public List<String> getActorsWithSameLastName(String lastName, 
      NamedParameterJdbcTemplate template) { 
     String query = "SELECT FIRSTNAME FROM ACTORS WHERE LASTNAME=:LASTNAME"; 
     Map<String, String> paramMap = new HashMap<String, String>(); 
     paramMap.put("LASTNAME", lastName); 
     return template.queryForList(query, paramMap, String.class); 
    } 

मैं पिछले नामों की एक List<String> है: इस कोड चल रहा है मुझे वांछित परिणाम दे दी है। मैं सूची में कलाकारों की सूची कैसे प्राप्त कर सकता हूं? क्या मैं अंतिम नामों की सूची में पुन: प्रयास करता हूं और हर बार getActorsWithSameLastName() पर कॉल करता हूं या वसंत एक ऐसा तरीका प्रदान करता है जहां यह पुनरावृत्ति करता है और मेरे लिए परिणाम प्राप्त करता है? कृपया सलाह दें।

खंड में

उत्तर

21

उपयोग ..

How to use SELECT IN clause in JDBCTemplates?

List<String> lastnames= new ArrayList<>(); 

Map namedParameters = Collections.singletonMap("lastnamevalues", lastnames); 

StringBuffer recordQueryString = new StringBuffer(); 

recordQueryString.append("select FIRSTNAME, LASTNAME from ACTORS where lastname in (:lastnamevalues)"); 

List nameInvolvements = this.namedparameterJdbcTemplate.query(recordQueryString.toString(), namedParameters, new MyMapper()); 
+0

धन्यवाद एक बहुत आदमी। बहुत बढ़िया प्रतिक्रिया। –

+0

मुझे एक लाइन कोड पसंद है। धन्यवाद –

8

तुम भी उपयोग कर सकते हैं MapSqlParameterSource

String query = "SELECT FIRSTNAME FROM ACTORS WHERE LASTNAME in (:LASTNAME)"; 
Set<String> ids = ....; 

MapSqlParameterSource parameters = new MapSqlParameterSource(); 
parameters.addValue("LASTNAME", ids); 

this.namedparameterJdbcTemplate.query(query.toString(), parameters); 
+0

धन्यवाद, यह उस मामले के लिए काम करता था जहां मेरे पास एक से अधिक स्ट्रिंग ऑब्जेक्ट का सेट था – Dayna

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

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