java - 如何将 JRDataSource 用于 jasper 报告

标签 java spring jasper-reports

之前,我将连接对象发送到 JasperFillManager 类的 fillReport()。它工作正常,它也在生成数据。下面是我用于数据库连接的代码。

Connection conn = null; 
Class.forName("com.mysql.jdbc.Driver"); 
conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname", "username", "password");

但现在我不想将连接对象传递给 fillReport(),而是想传递 JRDataSource。我怎样才能做到这一点?如何使用 mysql 数据库信息在我的 spring 配置文件中配置这个 JRDataSource?谁能告诉我。

我正在使用 iReport 4.5.0Spring 3.0.5 RELEASE。如果您需要更多信息,我会给您。

最佳答案

您可以使用 conn 从数据库中获取结果集。然后您将使用 JRResultSetDataSource 来实例化数据源。

        Connection con = getConnection();
        PreparedStatement statement = con.prepareStatement(jdbcString.toString());
        ResultSet rs = statement.executeQuery();
        jrDataSource = new JRResultSetDataSource(rs);

关于java - 如何将 JRDataSource 用于 jasper 报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10187833/

相关文章:

unit-testing - 如何以编程方式创建 Spring 上下文?

java - 电子邮件的 JasperReport 模板中未加载图像

java - 使用 PDFBox 将图像转换为 PDF 文件

java - spring data jpa 和多个集合的条件

mysql - 在 Openshift 上部署应用程序时出错

java - 我的Jasper模板未显示任何文字

java - 通过 DynamicJasper 使用没有实体的 jdbc 连接生成报告

java - Eclipse 异常与 java.lang.OutOfMemoryError : Java heap space

java - keyReleased 函数不恢复 java 中的原始背景颜色

java - YAJSW 将 jar 作为窗口服务运行的任何替代方案