Grails 如何使用Groovy返回JDBC结果集

Grails 如何使用Groovy返回JDBC结果集,grails,jdbc,groovy,Grails,Jdbc,Groovy,我正在使用Groovy+Grails中的JasperReport编写报告,并希望将结果集发送到我的报告中。问题是Jasper不知道Groovy+Grails中的数据源。我在用这个 JasperFillManager.fillReport(in, parameterMap, new JRResultSetDataSource(resultSet)); 这个类只接收一个ResultSet对象,但我找不到从Groovy+Grails返回JDBC ResultSet以传递到JResultSetData

我正在使用Groovy+Grails中的JasperReport编写报告,并希望将结果集发送到我的报告中。问题是Jasper不知道Groovy+Grails中的数据源。我在用这个

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

这个类只接收一个ResultSet对象,但我找不到从Groovy+Grails返回JDBC ResultSet以传递到
JResultSetDataSource()

的方法。您可以使用
Groovy.sql.sql
创建和执行sql查询,它还返回一个
ResultSet
对象

您可以使用不同的策略创建一个新的
groovy.sql.sql
实例,如使用现有的sql连接、数据源bean或提供正常的jdbc连接详细信息。寻找更多细节


executeQuery
executePreparedQuery
是两种可用于执行sql查询的方法,如果您在服务或控制器内部工作,则将返回
Resultset
,您可以执行以下操作:

首先,您需要将数据源注入服务或控制器中:

def dataSource
然后在创建jasper的函数中,您可以使用如下内容:

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