2015-12-19 39 views
0

我正在使用Groovy + Grails中的JasperReport進行報告,並且想要將ResultSet發送到我的報告。問題是Jasper不知道Groovy + Grails的dataSource。我用這如何使用Groovy返回JDBC ResultSet

JasperFillManager.fillReport(in, parameterMap, new JRResultSetDataSource(resultSet)); 

該類只得到了ResultSet對象,但我找不到在Groovy + Grails的返回一個JDBC結果傳遞給JRResultSetDataSource()的方式。

回答

0

您可以使用groovy.sql.Sql來創建和執行sql查詢,並且它還返回一個ResultSet對象。

您可以使用不同的策略創建一個新的groovy.sql.Sql實例,例如使用現有的sql連接,dataSource bean或通過提供正常的jdbc連接詳細信息。查找更多詳情here

executeQueryexecutePreparedQuery是兩種可用於執行sql查詢的方法,並將返回Resultset

0

如果您是在服務或控制器內的工作,你可以這樣做:

首先你需要注入您的數據源的服務或控制器內:

def dataSource 

然後裏面的功能是創建碧玉你可以使用類似的東西:

Sql sqlConn = new Sql(dataSource) 
String query = "SELECT * FROM my_table" 
sqlConn.executeQuery(query)