Как я могу отсортировать Groovy список выбранных из базы данных, используя определенное поле - PullRequest
0 голосов
/ 09 ноября 2010

как я могу отсортировать список, выбранный из базы данных, используя определенное поле пример: книжный стол отсортирован по темам

Ответы [ 3 ]

1 голос
/ 09 ноября 2010

С чистым Groovy (без Grails) вы можете сделать:

bookList.sort{it.subject}
0 голосов
/ 09 ноября 2010

Чтобы сделать это чисто в 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") }
0 голосов
/ 09 ноября 2010

def books = Book.list(sort:"subject", order:"asc")

РЕДАКТИРОВАТЬ: вы также можете иметь порядок сортировки по умолчанию в вашем доменном классе:

static mapping = {
    sort = 'subject'
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...