我有一个类RowMapperFactory,它特别可以返回一个Employee:
new Employee(
new BigInteger("7499"),
new FullName("JOHN", "ALLEN", "MARIA"),
Position.SALESMAN,
LocalDate.of(1981, 2, 20),
new BigDecimal("1600")
)但是我想要创建一个generale表单。对于new BigInteger,new FullName,Position,new BigDecimal,我做了,但是如何为LocalDate做。LocalDate必须从hired列中获取日期。我试过LocalDate.from((TemporalAccessor) resultSet.getDate("hired")),但是写hired column not found。如何解决这个问题?
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"))
);
}
};
}
}发布于 2021-12-15 10:37:31
如果columnName "hired"不起作用,请尝试使用索引,看看是否可以找到正在寻找的列。
在找到它之后,您可以以这样的LocalDate格式检索它:
LocalDate date = resultSet.getObject(colIndex, LocalDate.class);https://stackoverflow.com/questions/70362048
复制相似问题