Grails 如何使用Groovy返回JDBC结果集
我正在使用Groovy+Grails中的JasperReport编写报告,并希望将结果集发送到我的报告中。问题是Jasper不知道Groovy+Grails中的数据源。我在用这个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
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)