Grails精华:使用Groovy SQL
在前一篇文章里,我们学习了在Grails应用中使用Hibernate SQL。同样的,我们也可以使用Groovy SQL执行自定义的SQL语句。我们必须创建一个 在下面的样例中,我们使用Groovy SQL执行一个自定义查询。请注意,在Grails service package com.mrhaki.grails import groovy.sql.Sql import groovy.sql.GroovyRowResult class PersonService { // Reference to default datasource. def dataSource List<GroovyRowResult> allPersons(final String searchQuery) { final String searchString = "%${searchQuery.toUpperCase()}%" final String query = ''' select id,name,email from person where upper(email collate UNICODE_CI_AI) like :search ''' // Create new Groovy SQL instance with injected DataSource. final Sql sql = new Sql(dataSource) final results = sql.rows(query,search: searchString) results } } 在Grails应用中,可以将 // File: grails-app/conf/spring/resources.groovy beans = { // Create Spring bean for Groovy SQL. // groovySql is the name of the bean and can be used // for injection. groovySql(groovy.sql.Sql,ref('dataSource')) } 现在我们使用 package com.mrhaki.grails import groovy.sql.GroovyRowResult class PersonService { // Reference to groovySql defined in resources.groovy. def groovySql List<GroovyRowResult> allPersons(final String searchQuery) { final String searchString = "%${searchQuery.toUpperCase()}%" final String query = ''' select id,email from person where upper(email collate UNICODE_CI_AI) like :search ''' // Use groovySql bean to execute the query. final results = groovySql.rows(query,search: searchString) results } } 以上使用的是Grails 2.3.7。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |