public class ModelMapper implements ResultSetMapper<Model> {
public Model map(int index, ResultSet resultSet, StatementContext ctx) throws SQLException {
// Get result set meta data & column count
ResultSetMetaData metaData = resultSet.getMetaData();
int columns = metaData.getColumnCount();
Map<String, Object> map = new HashMap<>(columns);
for (int i = 1; i <= columns; ++i) {
String columnName = metaData.getColumnName(i);
map.put(columnName, resultSet.getObject(columnName));
}
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);
return objectMapper.convertValue(map, Model.class);
}
}
В моем ModelImplDao.class
Я зарегистрировал его как @RegisterMapper(ModelMapper.class)
. Поскольку я вижу, что класс ModelMapper
существует ровно один параметр Model
, как я могу создать класс, который был бы общим и параметризованным, чтобы принимать Model
в качестве параметра, и я также могу зарегистрировать его в ModelImplDao.class
в качестве картографа?Общий класс с параметрами