在grails中使用数据库表(不是域)中的数据
我使用的插件用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中使用数据库表(而不是域类)中的数据?如果不知道“使用信息”是什么意思,很难说。但是,如果您想查询该表,那么在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
上提供了自己的视图(没有很好的文档记录)