我正在使用Spring对JDBC的支持.我想使用JdbcTemplate(或SimpleJdbcTemplate)来执行查询并获得结果作为ResultSet的实例.
我能看到实现这一目标的唯一方法是使用:
String sql = "select * from....";
sqlRowSet results = jdbcTemplate.queryForRowSet(sql);
((ResultSetWrappingsqlRowSet) results).getResultSet();
这种方法的一个明显缺点是它需要我做一个关于sqlRowSet的实现类型的假设(通过强制转换),但是有更好的方法吗?
背景信息……
我想要将结果作为ResultSet而不是bean的集合获取的原因是因为结果将直接传递给Jasper报告以供显示.换句话说,除了在ResultSet中临时存储每一行之外,Java bean只能用于其他任何内容,并且我希望尽可能避免为每个Jasper报告创建这样的bean.
干杯,唐
解决方法:
如果您只想执行查询并获得结果,为什么不使用普通的jdbc并获取结果集?请注意,您不需要弹簧就可以做到这一点.
Connection c = ...
c.prepareCall("select ...").getResultSet();
此外,通过将对象用作DTO,您可以获得优势.即使您的数据访问或报表工具发生更改,您也无需更改DTO类(假设您开始使用xquery而不是jdbc,或者使用apache-poi而不是jasper).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。