JDBI 2.73と一緒にDropwizard 1.0.0を使用しています。 いくつかのオブジェクトを持つマッパーを作成したいと思います。したがって、いくつかの引数を持つコンストラクタ。DropWizardのコンストラクタでJDBI Mapperアノテーションを使用
しかし、それは例外がスローされます。
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