Как удалить шаблонный код из Java rowMapper? - PullRequest
0 голосов
/ 02 мая 2020

Я использую ниже rowMapper для сопоставления resultSet с моим CustomEntity. У меня есть более 150 полей на объекте CustomEntity, и я создал различные rowMappers согласно требованию.

Есть ли способ избежать такого шаблонного кода от rowMapper?

    private class CustomEntityRowMapper implements RowMapper<CustomEntity> {
      @Override
      public CustomEntity mapRow(ResultSet resultSet, int rowNo) throws SQLException {
        CustomEntity entity = new CustomEntity();
        entity.setNo(resultSet.getLong("no"));
        entity.setCustomNo(resultSet.getLong("custom_no"));
        entity.setCustomType(resultSet.getLong("custom_type"));
        entity.setAddress(resultSet.getString("address"));
        entity.setLoc2(resultSet.getString("loc2"));
        entity.setACode(resultSet.getString("a_code"));
        entity.setANo(resultSet.getLong("a_no"));
        entity.setChargeR(resultSet.getLong("charged_r"));
        entity.setChargeC(resultSet.getString("charge_c"));
        entity.setConfirmation(resultSet.getLong("confirmation"));
        entity.setContact(resultSet.getString("contact"));
        entity.setCorr1(resultSet.getString("corr_1"));
        entity.setCountry2(resultSet.getString("country_2"));
        entity.setCLimit(resultSet.getLong("c_limit"));
        entity.setCurrency(resultSet.getString("currency"));

       // 100 more setters & getters here
      }
    }

Когда в Entity более 100 полей, тогда действительно трудно писать геттеры и сеттеры в классе rowMapper .

...