首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RowMapper实现LocalDate

使用RowMapper实现LocalDate
EN

Stack Overflow用户
提问于 2021-12-15 10:25:16
回答 1查看 369关注 0票数 1

我有一个类RowMapperFactory,它特别可以返回一个Employee

代码语言:javascript
复制
new Employee(
                            new BigInteger("7499"),
                            new FullName("JOHN", "ALLEN", "MARIA"),
                            Position.SALESMAN,
                            LocalDate.of(1981, 2, 20),
                            new BigDecimal("1600")
                    )

但是我想要创建一个generale表单。对于new BigIntegernew FullNamePositionnew BigDecimal,我做了,但是如何为LocalDate做。LocalDate必须从hired列中获取日期。我试过LocalDate.from((TemporalAccessor) resultSet.getDate("hired")),但是写hired column not found。如何解决这个问题?

代码语言:javascript
复制
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"))
                );
            }
        };
    }


}
EN

回答 1

Stack Overflow用户

发布于 2021-12-15 10:37:31

如果columnName "hired"不起作用,请尝试使用索引,看看是否可以找到正在寻找的列。

在找到它之后,您可以以这样的LocalDate格式检索它:

代码语言:javascript
复制
 LocalDate date = resultSet.getObject(colIndex, LocalDate.class);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70362048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档