У меня проблема с использованием DbUtils для получения результатов хранимой процедуры в SQL Server.
Хранимая процедура при выполнении в SQL Server Management Studio возвращает два отдельных набора результатов при выполнении для определенного входного значения, но для других значений она возвращает только один набор результатов. Следующие изображения иллюстрируют проблему:
Возвращен один набор результатов:
Возвращено два набора результатов:
Проблема, с которой я столкнулся, заключается в том, что я использую DbUtils BeanListHandler
для преобразования результатов в список UserInfo
компонентов.
List<UserInfo> userList = (List<UserInfo>) run.query(STORED_PROC, new BeanListHandler(UserInfo.class), refId);
Когда хранимая процедура возвращает только один набор результатов, она работает нормально. Однако в случае, когда возвращаются два набора результатов, выдается только список для первого набора результатов.
Я думаю, что с помощью JDBC мы можем использовать несколько ResultSet
, но я не уверен, как обращаться с этим DbUtils.
Может ли кто-нибудь дать представление? Если требуется какая-либо другая информация, пожалуйста, обновите меня, я предоставлю.
CallableStatement
, получить различные наборы результатов и построить свой список объектов таким образом? - person Gord Thompson   schedule 15.04.2016org.apache.commons.dbutils.QueryRunner
и переопределение соответствующих методов.query
кодом, использующимPreparedStatement#getMoreResults()
? - person Gord Thompson   schedule 16.04.2016