`
seanwon
  • 浏览: 65654 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Grails SQL查询

阅读更多


Grails大多查询是基于Domain类的find方法和criteria来执行的,甚至执行HQL,也必须是以Domain来作为主体的,比如:Book.executeQuery("from book where id = ?",11),如果查询的数据与Domain类无关,这几种方式都不可行了。


Grails也提供了非常简单的方式,可以使用Groovy SQL来做,简单的代码如下:


首先在service或者controller中定义dataSource


def dataSource


然后在Servie或者Controller方法中如下:


def db = new groovy.sql.Sql(dataSource)

def resultMap

db.eachRow('select * from book'){

      resultMap.title = it.title

      resultMap.author = it.author

}


groovy sql提供了不少FETCHING DATA的方法和接口如下:


void eachRow String statement { row -> code }
void eachRow String prepStmt, List values { row -> code }
void eachRow GString prepStmt { row -> code }

void query String statement { resultSet -> code }
void query String prepStmt, List values { resultSet -> code }
void query GString prepStmt { resultSet -> code }
List rows String statement
List rows String prepStmt, List values
Object firstRow String statement
Object firstRow String prepStmt, List values
  • 大小: 7.9 KB
分享到:
评论

相关推荐

    grails框架数据查询

    **Grails框架数据查询** Grails是一个基于Java平台的开源Web应用框架,它采用Groovy语言,提供了MVC(Model-View-Controller)架构模式,旨在简化开发过程,提高开发效率。在Grails中,数据查询是核心功能之一,...

    Grails GORM查询.pdf

    Criteria查询是一种类型安全的查询方式,可以避免SQL注入的风险,而且在需要处理复杂查询时,使用HQL则可以提供更为直接和高效的SQL性能。 在实际应用中,GORM通过其提供的各种查询方法和操作符,使得数据查询变得...

    Grails权威指南 Grails权威指南

    3. **GORM(Grails Object-Relational Mapping)**:Grails的内置ORM工具,允许开发者以声明式的方式操作数据库,支持SQL的CRUD操作,简化了数据持久化的过程。GORM支持多种数据库,如MySQL、PostgreSQL等。 4. **...

    学习grails框架时候自己写的例子

    2. **自定义SQL查询**:尽管GORM提供了强大的ORM功能,但有时我们可能需要直接编写SQL查询以实现特定功能。在这个例子中,你可能学会了如何在Grails中使用`groovy.sql.Sql`类或者HQL(Hibernate Query Language)...

    grails学习

    要开启 SQL 查询日志,需要在 `config/logging/log4j.properties` 文件中设置日志级别。增加以下配置: ``` log4j.logger.org.hibernate.SQL=trace log4j.logger.org.hibernate.type=trace ``` 这将输出 SQL ...

    grails-2.4.4.zip

    GORM 提供了对数据库的操作接口,使得开发者可以通过面向对象的方式操作数据,减少了与SQL的直接交互,支持关系型数据库如MySQL、PostgreSQL等。 5. **Grails插件系统** Grails 的强大之处在于其丰富的插件库,如...

    the definitive guide to grails 2

    通过GORM(Grails Object Relational Mapping),Grails提供了自动的ORM支持,使得开发者无需编写复杂的SQL语句即可实现数据的持久化操作。 #### Controllers(控制器) 控制器(Controllers)负责处理来自用户的...

    Grails权威指南.pdf

    - **Criteria API**:用于构建灵活的数据库查询,避免硬编码SQL。 5. **Ajax集成**: - **AJAX in Grails**:书中会介绍如何使用jQuery或其他库实现异步更新,提升用户体验。 - **Remote Function Calls (RFC)**...

    Grails案例

    - CRUD操作:Grails自动生成了保存和创建新记录的方法,如`save()`,开发者无需编写复杂的SQL语句。 3. **读取数据(Read)** - 查询:GORM提供了丰富的查询API,如`findAll()`, `findOne()`, `findById()`, `...

    grails 中文第二版

    - 支持Hibernate查询语言(HQL),提供了一种SQL风格的查询方式。 **高级GORM特性** - 支持事件和自动时间戳,简化了审计信息的记录。 - 支持自定义ORM映射,允许更细粒度地控制映射行为。 - 支持缺省排序,简化了...

    grails-2.4.2开发包

    通过GORM(Grails Object Relational Mapping),开发者可以轻松地进行数据库操作,而无需编写大量的SQL代码。GORM提供了简化的数据访问API,支持动态查询和 Criteria 查询,大大提升了开发速度。 4. **MVC架构** ...

    grails项目配置

    本项目是一个关于Grails的演示示例,特别关注了数据模型的一对多和多对多关系的配置,以及对MySQL和SQL Server数据库的支持。 1. **一对多关系配置** 在Grails中,一对多关系是通过在模型类中定义`hasMany`属性来...

    Grails1.1中文文档.rar

    3. **GRAILS ORM(Object Relational Mapping)**:Grails ORM 提供了ActiveRecord、DataBinding和Criteria查询等模式,简化了数据访问和管理。 4. **GSP(Grails Server Pages)**:类似于JSP的视图层技术,GSP...

    grails脚手架2次优化

    2. **数据库优化**:分析SQL语句,避免全表扫描,合理设计索引,优化JOIN操作,都是提升数据库性能的重要手段。 总结,Grails脚手架虽然提供了快速开发的便利,但针对具体项目的需求,我们需要对其进行二次优化,以...

    grails 文档

    Grails 的动态方法如`save()`, `delete()`, `update()`等,使得数据操作更加直观,减少了大量手写SQL的需求。 10. **国际化与本地化** Grails 支持多语言环境,通过i18n资源文件,轻松实现应用的国际化和本地化。...

    Grails权威指南

     3.6.1 启用sql日志  3.6.2 日志记录(logging)和环境  3.7 grails命令行工具  3.7.1 在不同的端口上运行grails应用程序  3.7.2 打包war存档文件(warcarchive)  3.8 使用grails控制台...

    Groovy轻松入门—Grails实战基础篇

    通过领域类,开发者可以以面向对象的方式操作数据库,如创建、查询、更新和删除记录,而无需编写SQL。 6. **Grails命令行工具**:学习如何使用Grails的命令行工具创建新项目、生成控制器、服务、模型等,以及运行、...

    一步一步学grails(7)

    - **GORM**:Grails 的对象关系映射系统,允许开发者以面向对象的方式操作数据库,无需编写 SQL 语句。 - **GSP**:Groovy Server Pages 的简称,类似于 JSP,用于定义 Grails 应用程序的视图层。 - **控制器**:...

    Grails基础教程

    - **动态查找器**:Groovy动态查找器提供了一种简洁的方式来查询数据库,简化了SQL语句的编写。 - **动态查找器的多面性**:通过实例演示了动态查找器的不同用法。 - **协调动态查找器和立即与延迟提取**:解释了...

Global site tag (gtag.js) - Google Analytics