मैं संग्रहीत प्रक्रियाओं/एसक्यूएल से कई परिणाम सेट लौटने का एक आसान तरीका खोजने का प्रयास कर रहा हूं। मैं SimpleJdbcOperations#queryForList()
विधि का उपयोग कर रहा हूं हालांकि यह केवल List<Map<String, Object>>
के रूप में पहला परिणाम सेट लौटाएगा। मुझे या के रूप में आदर्श रूप से एकाधिक परिणाम सेट प्राप्त करने में सक्षम होना चाहिए। जो प्रोग्राम मैं लिख रहा हूं वह एक मिडलवेयर घटक है इसलिए मुझे नहीं पता कि एसक्यूएल क्या होगा, या परिणाम सेट का रूप।JdbcTemplate एकाधिक परिणाम सेट
मुझे लगता है कि मुझे JdbcOperations
कक्षा का उपयोग करना है जो मुझे execute(CallableStatementCreator csc, CallableStatementCallback<T> action)
समेत अधिक तरीकों तक पहुंच प्रदान करता है लेकिन अब मैं अटक गया हूं।
CallableStatementCallback<T> callback = new CallableStatementCallback<T>() {
@Override
public T doInCallableStatement(CallableStatement cs) throws SQLException, DataAccessException
{
boolean results = cs.execute(request);
while(results)
{
ResultSet result = cs.getResultSet();
results = cs.getMoreResults();
}
return null;
}
};
मैं वास्तव में विधि हालांकि, या क्या उपयोग करने के लिए कैसे ResultSet
से कोई लेना देना मेरी सामान्य List<Map<String, Object>>
रों पाने के लिए यकीन नहीं है।
एक [ 'ResultSet'] के रूप http://docs.oracle.com/javase/7/docs/api/java में ResultSet की सूची प्राप्त करने के लिए विधि नीचे का इस्तेमाल किया है /sql/ResultSet.html) पंक्तियों को शामिल करता है क्योंकि आप सीधे डेटाबेस पर एसक्यूएल निष्पादित करने के बाद उन्हें पा सकते हैं, यह कभी भी 'सूची
मुझे 'हैसक्स्ट()' और 'getObject()' का उपयोग करके 'परिणामसेट' को फिर से चलाने में सक्षम होना चाहिए? –
आप 'अगली') के साथ 'while' लूप का उपयोग करेंगे और विभिन्न गेटर्स के साथ विभिन्न पंक्ति फ़ील्ड प्राप्त करेंगे। –