質問: con.prepareStatement("select * from test"); return stmt.executeQuery(); } ``` 何故かというと、Controller側でこのResultSetをwhileループでぶん回して1レコードずつ処理したいからです。 でもこのような設計だと呼び出し側でResultSetをcloseしなきゃならないうえ、PreparedStatementとConnectionをクローズできません。 (PreparedStatementとConnectionはResultSetのclose後にcloseすると勉強したため) ResultSetはどっちかというとModel側だけで使う型なのかなとも思いますし、何か良い方法ないでしょうか?
回答: ResultSetをControllerに戻す前に、その内容を繰り返して取得して別のオブジェクトに格納する方法が使われますが、そこでオブジェクトを取り出して格納するときに、もう少し手を抜く(汎用的に)書く方法として、Apache Commonsの ResultSetDynaClass があります。