我必须将JDBC ResultSet
映射到包含大约20个字段的object
。但是,ResultSet
中的列数每次都可以不同,这取决于所执行查询的“选择字段”。现在,我需要设置ResultSet
中存在的object中的数据字段。
当前,我正在使用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语句。有什么方法比上述方法更有效,更整洁吗?