Grails自带了一些查询方法,或者使用hsql语句来进行查询,但是有些时候我们需要执行原生态的sql语句查询,不管该查询是否能进行,执行原生态的sql语句还是有它的好处的,不过具体情况 也得分分情况 。
有人建议在程序里面直接创建一个数据库连接,然后执行查询,其实可以直接使用默认的数据源:
需要导入包:
import groovy.sql.Sql
import org.codehaus.groovy.grails.commons.ApplicationHolder
import org.springframework.context.ApplicationContext
查询代码:
ApplicationContext ctx = (ApplicationContext) ApplicationHolder.getApplication().getMainContext();
def dataSource = ctx.getBean('dataSource');
def sql = new Sql(dataSource);
String strSql = "select count( a.controll_plane_id) , palne_time from (select id, palne_time,controll_plane_id FROM plane_time where true group by palne_time, controll_plane_id,palne_time_status) a group by palne_time";
sql.eachRow(strSql) {
println it
}
这样就能直接输出结果了.
[count( a.controll_plane_id):2, palne_time:2011-08-01]
[count( a.controll_plane_id):2, palne_time:2011-08-02]
[count( a.controll_plane_id):2, palne_time:2011-08-03]
[count( a.controll_plane_id):4, palne_time:2011-08-04]
[count( a.controll_plane_id):1, palne_time:2011-08-05]
[count( a.controll_plane_id):1, palne_time:2011-08-06]
[count( a.controll_plane_id):1, palne_time:2011-08-12]
[count( a.controll_plane_id):1, palne_time:2011-08-18]
分享到:
相关推荐
通过GORM(Grails Object Relational Mapping),Grails提供了自动的ORM支持,使得开发者无需编写复杂的SQL语句即可实现数据的持久化操作。 #### Controllers(控制器) 控制器(Controllers)负责处理来自用户的...
2. **GORM(Grails Object-Relational Mapping)**:这是Grails内置的数据持久化框架,允许开发者使用领域模型对象直接操作数据库,无需编写SQL语句。GORM支持关系型数据库,如MySQL、PostgreSQL,同时也支持NoSQL...
- CRUD操作:Grails自动生成了保存和创建新记录的方法,如`save()`,开发者无需编写复杂的SQL语句。 3. **读取数据(Read)** - 查询:GORM提供了丰富的查询API,如`findAll()`, `findOne()`, `findById()`, `...
这将输出 SQL 查询语句及其参数,便于调试和性能优化。 8. **其他 Grails 配置** Grails 允许自定义不同组件的日志级别,例如: - `'org.codehaus.groovy.grails.web.servlet'`:控制器 - `'org.codehaus....
在Web开发领域,Grails框架以其高效和便捷的特性深受开发者喜爱。其中,脚手架(Scaffolding)是Grails提供的一种快速开发工具,它能够自动生成基本的CRUD操作,极大地提高了开发效率。然而,尽管脚手架在很多场景下...
例如,Groovy允许开发者使用更简洁的语句进行方法调用,如`list.each{println it}`,这比Java的for-each循环更为简洁。此外,Groovy的动态类型特性允许在运行时确定变量的类型,提高了开发效率。 2. **Grails架构**...
例如,`Contact`类可以自动关联到数据库中的`contacts`表,无需编写复杂的SQL语句。 3. **Controllers**:控制器负责处理用户请求并调用服务层进行业务逻辑处理。在通讯录应用中,我们可以创建一个`...
1. **动态查询器**:提供灵活的数据查询能力,支持条件筛选、排序、分页等功能,无需编写复杂的SQL语句。 2. **动态脚手架**:自动生成基本的CRUD界面,加速开发过程,后期可定制修改。 五、Grails与其他技术的关系...
- **动态查找器**:Groovy动态查找器提供了一种简洁的方式来查询数据库,简化了SQL语句的编写。 - **动态查找器的多面性**:通过实例演示了动态查找器的不同用法。 - **协调动态查找器和立即与延迟提取**:解释了...
GORM支持Hibernate和ActiveRecord风格的ORM,使得开发者可以通过领域类直接操作数据库,无需编写SQL语句。 4. **Scaffolding**:Grails的自动脚手架功能可以根据领域模型快速生成基本的CRUD(创建、读取、更新、...
### Groovy and Grails ...通过这些章节的学习,读者将能够全面了解Groovy编程语言和Grails框架,并掌握如何使用它们来开发高效、可维护的应用程序。无论是新手还是有经验的开发者,都能从中获得宝贵的知识和实践经验。
- **对象关系映射(ORM)**:Grails采用GORM(Grails ORM),这是一种简化了对象关系映射的过程,使开发者无需编写复杂的SQL语句即可完成数据操作。 - **路由和验证**:Grails内置了一套简单的路由规则和验证机制,...
Grails支持使用`executeQuery`和`executeUpdate`方法执行SQL语句。 6. **性能优化**:在大型应用中,考虑数据库性能是必要的。这可能涉及索引优化、查询优化、连接池配置等。 7. **数据库迁移工具**:Grails有诸如...
Hibernate简化了Java应用程序与数据库之间的交互,通过XML或注解方式定义对象-表映射,自动处理SQL语句,极大地提高了开发效率。它支持事务管理,缓存机制,并提供了查询语言HQL,让开发者可以使用面向对象的方式来...
- **动态查询**:Grails 提供了一种灵活的方式来执行动态查询,允许开发者根据不同的条件动态构建查询语句。 - **用户认证**:通过集成 Spring Security 插件或其他安全框架来实现用户身份验证和授权。 - **前端优化...
例如,Grails的领域模型(Domain Model)支持动态方法,使得开发者可以通过简单的语法进行CRUD操作,如`save()`, `delete()`, `update()`等,而无需编写SQL语句。此外,GORM(Grails Object-Relational Mapping)还...
1. Grails框架:基于Java的Web开发框架,使用Groovy语言,提供MVC架构和ORM功能。 2. GORM:Grails的ORM工具,简化了数据库操作。 3. Google App Engine:Google提供的云服务平台,包括Datastore NoSQL数据库服务。 ...