JDBI 2.73과 함께 Dropwizard 1.0.0을 사용하고 있습니다. 일부 개체가있는 매퍼를 만들고 싶습니다. 따라서 몇 가지 인수가있는 생성자.DropWizard의 생성자와 JDBI 매퍼 주석 사용
하지만 던지고 예외 :
java.lang.NoSuchMethodException: com.xyz.db.ReportMapper.<init>()
DAO는
@SqlQuery("SELECT * FROM reports")
@Mapper(ReportMapper.class)
List<Report> findReports();
매퍼가 만들어
작성됩니다.public class ReportMapper implements ResultSetMapper<Report> {
private static final String ID_COLUMN = "id";
private static final String NAME_COLUMN = "name";
private static final String START_DATE_COLUMN = "start_date";
private static final String END_DATE_COLUMN = "end_date";
private final ObjectMapper mapper;
public ReportMapper(ObjectMapper objectMapper){
this.mapper = objectMapper;
}
@Override
public Report map(int index, ResultSet resultSet, StatementContext statementContext) throws SQLException {
return Report.builder()
.id(resultSet.getInt(ID_COLUMN))
.name(resultSet.getString(NAME_COLUMN))
.startDate(resultSet.getDate(START_DATE_COLUMN))
.endDate(resultSet.getDate(END_DATE_COLUMN))
.build();
}
생성자가있는 매퍼를 만들고 주석으로 사용할 수 있습니까?
당신이 당신의 전체 ReportMapper 클래스를 게시 할 수없이
ResultSetMapper
자신을 등록 할 수 있습니다? – Manikandan@Manikandan Mapper 클래스 코드를 업데이트했습니다. – gagangupt16