Grails查询不使用GORM

时间:2011-01-05 04:04:47

标签: grails groovy gorm

在Grails中不使用GORM查询内容的最佳方法是什么?

我的查询似乎不适合GORM模型,查询有子查询和计算字段。我已经在stackoverflow上发布了没有回复,所以我决定采取不同的方法。我想在grails应用程序中查询不使用GORM的内容。有没有简单的方法来获得连接并通过结果集?

2 个答案:

答案 0 :(得分:37)

在服务或控制器中,您可以为dataSource bean添加依赖注入,如果您是受虐狂,则直接使用groovy.sql.Sql或JDBC。

import groovy.sql.Sql

class DataService {

   def dataSource

   void runQuery(...) {
      def sql = new Sql(dataSource)
      sql.eachRow('select * from foo') { row ->
         ...
      }
   }
}

答案 1 :(得分:-1)

在大多数情况下,我使用标准查询。

def c = Account.createCriteria()
def results = c {
    between("balance", 500, 1000)
    eq("branch", "London")
    or {
        like("holderFirstName", "Fred%")
        like("holderFirstName", "Barney%")
    }
    maxResults(10)
    order("holderLastName", "desc")
}