当前位置:  开发笔记 > 数据库 > 正文

Grails中的SQL /数据库视图

如何解决《Grails中的SQL/数据库视图》经验,为你挑选了1个好方法。

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

是否首选创建表示视图的域类,然后我们可以对该域类使用list()?看起来这会有问题,因为Grails可能希望能够插入,更新,删除和修改任何域类的表模式.

[编辑:
此处跟进问题:Grails Domain Class没有ID字段或部分为NULL复合字段



1> Siegfried Pu..:

您可以在Grails中使用纯SQL,这是访问视图的最佳方式(IMO):

例如在您的控制器中:

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
    }

}

和视图部分:


    
        ${it.foo}
        ${it.bar}
    

我希望来源不言自明.该文件可以在这里找到

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有