gpt4 book ai didi

Grails 中的 SQL/数据库 View

转载 作者:太空狗 更新时间:2023-10-30 01:39:24 24 4
gpt4 key购买 nike

有谁知道通过 Grails 访问 sql View 的最佳方法是什么(或者如果这可能的话)?这样做的一个明显方法似乎是对 View 使用 executeQuery 以从 View 中选择一组行,我们不会将其视为域对象列表。然而,即使在这种情况下,也不清楚要针对哪个域类运行 executeQuery,因为实际上我们只是使用该域类来针对完全不相关的实体( View )运行查询。

创建一个表示 View 的域类是否更可取,然后我们可以只针对该域类使用 list()?这似乎会有问题,因为 Grails 可能希望能够插入、更新、删除和修改任何域类的表模式。

[编辑:
在此处跟进问题:Grails Domain Class without ID field or with partially NULL composite field

最佳答案

您可以在 Grails 中使用纯 SQL,这是访问 View 的首选方式(IMO):

例如在你的 Controller 中:

import groovy.sql.Sql

class MyFancySqlController {

def dataSource // the Spring-Bean "dataSource" is auto-injected

def list = {
def db = new Sql(dataSource) // Create a new instance of groovy.sql.Sql with the DB of the Grails app

def result = db.rows("SELECT foo, bar FROM my_view") // Perform the query

[ result: result ] // return the results as model
}

}

和 View 部分:

<g:each in="${result}">
<tr>
<td>${it.foo}</td>
<td>${it.bar}</td>
</tr>
</g:each>

我希望来源是不言自明的。 Documentation can be found here

关于Grails 中的 SQL/数据库 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/425294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com