gpt4 book ai didi

sql - Grails sql 查询

转载 作者:行者123 更新时间:2023-12-04 02:36:26 26 4
gpt4 key购买 nike

想象一下我有这样的事情:

def example = {
def temp = ConferenceUser.findAllByUser(User.get(session.user))
[temp: temp]
}

解释我的问题:
尽管动态查找器非常易于使用且易于学习,但我必须将我网站的动态查找器替换为 sql 查询,因为这是一项要求。由于我不太了解SQL,我的主要问题是:

a) 我正在使用 SQLS 数据库,驱动程序和数据源配置良好,我的网站现在可以正常工作。如果我想替换 sql 语句的“findAllByUser”,我应该这样做:
def dataSource
...
def db = new Sql(dataSource)
def temp = db.rows("SELECT ... ")

b) 那会起作用吗?我的意思是,如果我使用“findAllByUser”,临时对象将是一个列表,我是否需要打开与数据库的连接=?

最佳答案

是的,使用 grails,您可以执行普通的 sql 和 hql 查询。 HQL 是“休眠查询语言”,允许您编写类似 sql 的语句,但使用域类和属性而不是表名和列名。要进行 hql 查询,请执行以下操作

def UserList = ConferenceUser.executeQuery('from ConferenceUser cu where cu.user = ?', [user]),  

你这里有一个参数化查询——executeQuery 看到 ?在 hql 字符串中,并为您替换作为方法第二个参数的数组中的参数(在本例中为 [user])。


http://grails.org/doc/latest/ref/Domain%20Classes/executeQuery.html

你可以看到这个关于如何使用 Grails 进行 sql 查询

Sql query for insert in grails

关于sql - Grails sql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6282374/

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