Чтобы сделать это чисто в Groovy (без Grails), вы можете сделать что-то вроде этого:
import groovy.sql.Sql
def dbUrl = "jdbc:postgresql://localhost/test-db"
def dbUser = "test"
def dbPassword = "test"
def dbDriver = "org.postgresql.Driver"
def sql = Sql.newInstance(dbUrl, dbUser, dbPassword, dbDriver)
sql.eachRow("select * from book order by subject asc") { row ->
println "${row}\n"
}
В Grails у вас есть несколько вариантов.Вы можете использовать HQL:
Book.findAll("from Book order by subject asc")
Или один из вариантов динамического поиска:
Book.findAllByName(name, [sort: 'subject', order: 'asc'])
Или поиск по критерию:
Book.withCriteria { order("subject", "asc") }