Отображение JDBC ResultSet на объект - PullRequest
0 голосов
/ 19 сентября 2018

Мне нужно сопоставить JDBC ResultSet с object, который содержит примерно 20 полей.Однако количество столбцов в ResultSet может каждый раз отличаться в зависимости от «полей выбора» выполненного запроса.Теперь мне нужно установить поля данных в объекте, которые присутствуют в ResultSet.

В настоящее время я использую if statements для проверки того, какие из data fields присутствуют в ResultSet, и, если присутствует, для настройки соответствующих полей.Все остальные поля не должны быть установлены.

Мое текущее решение выглядит примерно так:

//Using resultSetMetaData
List<Fields> presentFields: Columns present in the ResultSet obtained 


if(PresentFields.contains(field1)){obj.set field1;}
if(PresentFields.contains(field2)){obj.set field2;}
if(PresentFields.contains(field3)){obj.set field3;}
.
.
same for 20 fields

Теперь я не хочу писать 20 операторов if в моем коде для этого.Есть ли способ сделать это более эффективным и аккуратным, чем описанный выше?

...