0

データベースからレコードを取得するプログラムを作成する場合、コードは次のようになります。

private static final int IDX_A = 1;
private static final int IDX_B = 2;
....

resultSet.getInt(IDX_A);
resultSet.getInt(IDX_B);
....

フェッチする列が多数ある場合、インデックスが多すぎます。したがって、別の実装は次のとおりです。

int idx = 0;
resultSet.getInt(++idx);
resultSet.getInt(++idx);
....

速度を考えると前者の方が良いと思います。でもメンテナンス的には後者の方がいいと思います。

列がたくさんある場合、どちらが優れていますか? ありがとう。

4

1 に答える 1

3

この場合、速度に関する考慮事項を完全に忘れることができます。データベースを呼び出しているため、コードで余分に費やされる数マイクロ秒はまったく問題になりません。

私の好ましい解決策は次のとおりです。

private static final String COLUMN_A = "ColumnA";
private static final String COLUMN_B = "ColumnB";

resultSet.getInt(COLUMN_A);
resultSet.getInt(COLUMN_B);

これにより、クエリが変更され、select 句に列が追加されたときにバグが発生するのを回避できます。

さらに良いことに、JPAを使用してください。

于 2013-10-22T09:31:51.103 に答える