在grails中使用数据库表(不是域)中的数据

在grails中使用数据库表(不是域)中的数据,grails,grails-domain-class,audit-logging,Grails,Grails Domain Class,Audit Logging,我使用的插件用grails域类中的更改填充数据库表 现在,我需要将插件保存的数据(行)显示到视图中 如何在grails中使用数据库表(而不是域类)中的数据?如果不知道“使用信息”是什么意思,很难说。但是,如果您想查询该表,那么在Groovy中使用sql包就足够简单了。控制器可能如下所示: package com.example import groovy.sql.GroovyRowResult import groovy.sql.Sql class MyController { def

我使用的插件用grails域类中的更改填充数据库表

现在,我需要将插件保存的数据(行)显示到视图中


如何在grails中使用数据库表(而不是域类)中的数据?

如果不知道“使用信息”是什么意思,很难说。但是,如果您想查询该表,那么在Groovy中使用sql包就足够简单了。控制器可能如下所示:

package com.example

import groovy.sql.GroovyRowResult
import groovy.sql.Sql

class MyController {
  def dataSource // injected data source from application

  def index() {
    def db = new Sql(dataSource)
    def results = db.rows("SELECT col1, col2, col3 FROM my_table")
    render view: 'index', model: results
}

当然,您可以在您的GSP中显示您认为合适的结果。

我创建了一个grails域,它将生成与grails audit插件相同的数据库表

然后,我使用这个新创建的域来检索由插件填充的数据库表中的数据

我做的域名如下

class AuditLog {

    String actor
    String className
    Date dateCreated
    String eventName
    Date lastUpdated
    String newValue
    String oldValue
    String persistedObjectId
    Long persistedObjectVersion
    String propertyName
    String uri

    static constraints = {
        dateCreated nullable: false
        lastUpdated nullable: false
        newValue nullable: true
        oldValue nullable: true
        persistedObjectVersion nullable: true
    }

    static mapping = {
        version false
    }
}

我所说的“信息”是指,我需要在其中使用“数据”(行)。我正在尝试创建一个grails域,该域将创建相同的数据库表,并且似乎正在工作。我的示例向您展示了如何从数据库中获取数据。在GSP上显示它与任何其他数据没有什么不同。你也需要一个例子吗?你可以使用插件类本身
org.codehaus.groovy.grails.plugins.orm.auditable.AuditLogEvent.list()
应该提供事件。此外,该插件在
/auditLogEvent
上提供了自己的视图(没有很好的文档记录)