JSPページで結果セットをリストに変換したい。すべての値を表示したい。これは私のクエリです:
SELECT userId, userName
FROM user;
preparedstatementを使用して実行し、Resultsetを取得しました。しかし、それをListとして変換し、次のような結果を表示する方法:
userID userName
------------------
1001 user-X
1006 user-Y
1007 user-Z
ループ内のResultSetオブジェクトを行ごとに反復処理して、各列の値を引き出す必要があります。
List ll = new LinkedList();
ResultSet rs = stmt.executeQuery("SELECT userid, username FROM USER");
// Fetch each row from the result set
while (rs.next()) {
int i = rs.getInt("userid");
String str = rs.getString("username");
//Assuming you have a user object
User user = new User(i, str);
ll.add(user);
}
常に Commons DbUtils および MapListHandler を使用できます。ドキュメントから:
ResultSetをマップのリストに変換するResultSetHandler実装
そのため、多くの定型コードを手に入れる必要はありません。
ResultSetがJSPに到達することはありません。データ構造またはオブジェクトにマッピングし、作成元のメソッドスコープ内で閉じる必要があります。これはデータベースカーソルであり、希少なリソースです。このようなデザインを維持する場合、アプリはすぐにそれらを使い果たします。