2012-04-17 20 views
2

以前我送的連接對象fillReport()JasperFillManager類。它工作正常,它也正在生成數據。以下是我用於數據庫連接的代碼。如何使用的JRDataSource的碧玉報告

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

但現在我不想連接對象傳遞給fillReport(),而不是我想通過的JRDataSource。我怎樣才能做到這一點?如何在我的spring配置文件中使用mysql數據庫信息配置這個JRDataSource?任何人都可以告訴我。

我使用iReport 4.5.0Spring 3.0.5 RELEASE。如果你想了解更多信息,我會給你。

+0

嗨,任何一個可以給我,因爲我在這個論壇please.Till問現在的問題的答覆我張貼3 questions.I沒得到,甚至一個單一的答覆also.I 3天strucked了在這裏和我期待從這個論壇的答案,但我根本沒有得到答覆。如果這不是正確的地方發佈這種類型的問題,那麼你只是給我的網址發佈。 – saru 2012-04-17 09:50:40

回答

0
JasperReport report 
    = (JasperReport)JRLoader.loadObject(
     "F:\\Tomcat 7.0\\webapps\\ivmreports\\jasper\\FailedInsertionEventsPDF.jasper"); 
// Map<String, Object> parameterMap = new HashMap<String, Object>(); 
JasperPrint print = JasperFillManager.fillReport(report, parameterMap, reportData); 

這裏reportdata是JRDatasource

1

你可以得到的結果從數據庫與康恩設置。然後你將使用JRResultSetDataSource來實例化一個數據源。

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