我正在寻找动态方法来设置 setter 方法中的值,在该方法中,我从 中获取列的总数ResultSetMetaData,基于这些结果,我想在相应的 setter 方法中设置值。我已经在我的实用程序类中准备了代码片段。
public Integer extractData(ResultSet rs) throws SQLException, DataAccessException {
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
for(int i = 1 ; i <= columnCount ; i++){
SQLColumn column = new SQLColumn();
String columnName = rsmd.getColumnName(i);
}
return columnCount;
}
现在的场景是我想设置Pay_codes员工,现在总共有 95 个工资代码,但在员工的情况下有所不同。
例如,普通员工有 13 个工资代码,而联系员工有 6 个代码,同样社会员工有 8 个工资代码。
现在我需要代表员工显示工资代码列表。我通过了EmployeeCode,我得到了结果。
现在的问题
是我是否在我的 RowMapper 中设置了所有列,如下所示
Paycode pc=new PayCode();
if(rs.getString("ESIC") != null){
pc.setESICCode(rs.getString("ESIC"));
}
if(rs.getString("EPF") != null){
pc.setEPFCode(rs.getString("EPF"));
}
if(rs.getString("Allowance") != null){
pc.setAllowance(rs.getString("Allowance"));
}
and many more columns........till 300+ lines
这看起来很糟糕,因为可以根据客户的要求增加或减少 Paycode。
所以,我正在寻找 2-3 行动态代码,它根据“ResultSetMetaData”中的列名在 setter 中设置值。所以请建议我最好的方法并帮助我实现相同的目标。
但是我正在考虑泛型实现,泛型是否有一些魔力,如果是> 那么如何?请建议我。
肥皂起泡泡
慕码人8056858
相关分类