之前,我将连接对象发送到 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.0
和 Spring 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/