0

我正在尝试创建一个从我的数据库中的客户表返回所有用户的方法,但是这段代码:

    try {
        List<Customer> customer = jdbi.open().createQuery("SELECT * FROM customer")
        .mapTo(Customer.class).list();
    } catch (Exception e) {
        System.out.println(e);
    }

返回错误:

org.jdbi.v3.core.mapper.NoSuchMapperException: No mapper registered for type com.customer.Customer

我看到另一个关于这个错误的帖子,他们说这个错误是由于类模型和数据库表之间的映射而发生的,但是我的应用程序是用纯 java 和 JDBI 3 构建的,我没有使用 Spring,所以如何映射结果此代码用于将此结果转换为客户列表?

4

1 回答 1

0

我修复了这个创建这个类

public class CustomerMapper implements RowMapper<Customer>{

  @Override
  public Customer map(ResultSet rs, StatementContext ctx) throws SQLException {
    return new Customer(rs.getInt("id"), rs.getString("uuid"), rs.getString("name"), rs.getString("email"), rs.getString("birthDate"), rs.getString("cpf"), rs.getString("gender"), rs.getDate("createdAt"), rs.getDate("updateAt"));
  }
}

.mapTo(Customer.class).list();我在哪里.map(new CustomerMapper()).list();引用了我创建的地图

于 2021-06-21T09:38:05.003 回答