I have a class RowMapperFactory
that can return an Employee
in particular:
new Employee(
new BigInteger("7499"),
new FullName("JOHN", "ALLEN", "MARIA"),
Position.SALESMAN,
LocalDate.of(1981, 2, 20),
new BigDecimal("1600")
)
but I want create a generale form. For new BigInteger
, new FullName
, Position
, new BigDecimal
I did it, but how do it for LocalDate
. LocalDate
must take date from column hired
. I try
LocalDate.from((TemporalAccessor) resultSet.getDate("hired"))
, but write that hired column not found
. How to solve it?
public class RowMapperFactory {
public RowMapper<Employee> employeeRowMapper() {
return new RowMapper<Employee>() {
@Override
public Employee mapRow(ResultSet resultSet) throws SQLException {
return new Employee(
new BigInteger(String.valueOf(resultSet.getInt("id"))),
new FullName(resultSet.getString("firstname"),resultSet.getString("lastName"),resultSet.getString("middleName") ),
Position.valueOf(resultSet.getString("position")),
LocalDate.from((TemporalAccessor) resultSet.getDate("hired")),
new BigDecimal(resultSet.getInt("salary"))
);
}
};
}
}