我有一个从数据库获取数据并创建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 –