我有一個從數據庫獲取數據並創建excel的應用程序。我想分離dao類,它從db中獲得resultSet,以及用這個結果集創建excel的類。將ResultSet傳遞給其他方法
以這種方式,我從Dao傳遞ResultSet到另一個類來創建excel文件。但是當我運行rs.next()時,它會給我「封閉的結果集:下一個」錯誤。 我在互聯網上看到,傳遞ResultSet不是個好主意,因此我只是嘗試在dao類中做到這一點,它的工作。
但這樣我不喜歡在dao類中做其他任務(creasting excel),我不想創建一個類,然後將它們作爲列表發送。所以我的問題是爲什麼把結果集傳遞給其他類或函數是不好的?爲什麼我通過它並嘗試調用rs.next()時會得到異常?
總結一下我的代碼看起來像這樣:
ResultSet rs = myDao.getResult();
ExcelCreator excelCreator = new ExcelCreator();
excelCreator.createExcel(rs);
檢查您的DAO類中是否關閉了連接,因爲關閉連接也可能導致關閉ResultSet –