Dón*_*nal 6 java spring jdbc jasper-reports
我正在使用 Spring 对 JDBC 的支持。我想使用JdbcTemplate(或 SimpleJdbcTemplate)来执行查询并获取结果作为 ResultSet 的实例。
我可以看到实现这一目标的唯一方法是使用:
String sql = "select * from....";
SqlRowSet results = jdbcTemplate.queryForRowSet(sql);
((ResultSetWrappingSqlRowSet) results).getResultSet();
Run Code Online (Sandbox Code Playgroud)
这种方法的一个明显缺点是它需要我对 SqlRowSet 的实现类型进行假设(通过强制转换),但有没有更好的方法?
背景资料...
我想以 ResultSet 而不是 bean 集合的形式获取结果的原因是,结果将直接传递给 Jasper 报告进行显示。换句话说,Java bean 只会用于临时存储 ResultSet 中的每一行,如果可能的话,我想避免为每个 Jasper 报告创建这样的 bean。
干杯,唐
如果您只想执行查询并获取结果,为什么不使用普通 jdbc 并获取结果集呢?请注意,您不需要 spring 来完成此操作。
Connection c = ...
c.prepareCall("select ...").getResultSet();
Run Code Online (Sandbox Code Playgroud)
此外,使用对象作为 DTO 也有优势。即使您的数据访问或报告工具发生变化,您也不需要更改 DTO 类(假设您开始使用 xquery 而不是 jdbc,或者使用 apache-poi 而不是 jasper)。
| 归档时间: |
|
| 查看次数: |
12823 次 |
| 最近记录: |