私は JDBC を使用しており、多くのクラスには次のような内部 RowMapper クラスがあります。
public class Foo {
class AppleRows implements RowMapper<Apple> {
public Apple mapRow(ResultSet rs, int rowNum) throws SQLException {
Apple a = new Apple();
a.setName(rs.getString("Name"));
}
}
class AppleRowsJoinedWithSomethingElse implements RowMapper<Apple> {
public Apple mapRow(ResultSet rs, int rowNum) throws SQLException {
Apple a = new Apple();
a.setName(rs.getString("Name"));
a.setSomethingElse(rs.getString("SomethingElse"));
}
}
}
上記の例では、行a.setName(rs.getString("Name"))
が複製されています。これは単なる例ですが、私の実際のコードでは、このようなフィールドが 10 個以上あります。これを行うためのより良い方法があるかどうか疑問に思っていますか?
注:結果を別のテーブルと結合する(より多くのフィールドを取得する)いくつかの場所からそれらを使用しているため、別のマッパーが必要です。