【问题标题】:How do you invoke a database function call from grails?如何从 grails 调用数据库函数?
【发布时间】:2012-08-02 18:37:43
【问题描述】:

如何从 grails 调用数据库函数? 如CONVERT(decimal, timestamp) 不用像这样使用 groovy SQL:

def sql = new Sql(dataSource)

我想避免任何 SQL 语句并充分利用 grails 的魔力。

【问题讨论】:

    标签: sql database grails groovy


    【解决方案1】:

    我的理解是 grails 没有对数据库函数的原生支持。您将需要编写 SQL。 Gorm 是对 Hibernate 的抽象,大家不妨参考一下:

    How can you call custom database functions with Hibernate?

    【讨论】:

    • 是的,这里的路线是让Hibernate执行SQL,或者使用Groovy SQL。
    • 我认为可能是这种情况,但我只是想确定一下:/谢谢!
    【解决方案2】:

    在您的域类中,首先您必须 -

    导入 groovy.sql.Sql

    然后你可以创建Sql实例并调用如下函数-

        def date = "'21-Feb-19 14:10:10.123000'"
        def timestamp_format = "'DD-Mon-RR HH24:MI:SS.FF'"
        String query = 'select to_timestamp('+date+','+timestamp_format+') from dual'
        def sql = Sql.newInstance('url', 'username', 'password', 'driverClassName')
        def result= sql.rows(query);
        def rows = result.collect{it.values()}
        println rows 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-14
      • 1970-01-01
      相关资源
      最近更新 更多