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是一个基于Java平台的开源Web应用框架,它采用Groovy语言,提供了MVC(Model-View-Controller)架构模式,旨在简化开发过程,提高开发效率。在Grails中,数据查询是核心功能之一,...
Criteria查询是一种类型安全的查询方式,可以避免SQL注入的风险,而且在需要处理复杂查询时,使用HQL则可以提供更为直接和高效的SQL性能。 在实际应用中,GORM通过其提供的各种查询方法和操作符,使得数据查询变得...
3. **GORM(Grails Object-Relational Mapping)**:Grails的内置ORM工具,允许开发者以声明式的方式操作数据库,支持SQL的CRUD操作,简化了数据持久化的过程。GORM支持多种数据库,如MySQL、PostgreSQL等。 4. **...
2. **自定义SQL查询**:尽管GORM提供了强大的ORM功能,但有时我们可能需要直接编写SQL查询以实现特定功能。在这个例子中,你可能学会了如何在Grails中使用`groovy.sql.Sql`类或者HQL(Hibernate Query Language)...
要开启 SQL 查询日志,需要在 `config/logging/log4j.properties` 文件中设置日志级别。增加以下配置: ``` log4j.logger.org.hibernate.SQL=trace log4j.logger.org.hibernate.type=trace ``` 这将输出 SQL ...
GORM 提供了对数据库的操作接口,使得开发者可以通过面向对象的方式操作数据,减少了与SQL的直接交互,支持关系型数据库如MySQL、PostgreSQL等。 5. **Grails插件系统** Grails 的强大之处在于其丰富的插件库,如...
通过GORM(Grails Object Relational Mapping),Grails提供了自动的ORM支持,使得开发者无需编写复杂的SQL语句即可实现数据的持久化操作。 #### Controllers(控制器) 控制器(Controllers)负责处理来自用户的...
- **Criteria API**:用于构建灵活的数据库查询,避免硬编码SQL。 5. **Ajax集成**: - **AJAX in Grails**:书中会介绍如何使用jQuery或其他库实现异步更新,提升用户体验。 - **Remote Function Calls (RFC)**...
- CRUD操作:Grails自动生成了保存和创建新记录的方法,如`save()`,开发者无需编写复杂的SQL语句。 3. **读取数据(Read)** - 查询:GORM提供了丰富的查询API,如`findAll()`, `findOne()`, `findById()`, `...
- 支持Hibernate查询语言(HQL),提供了一种SQL风格的查询方式。 **高级GORM特性** - 支持事件和自动时间戳,简化了审计信息的记录。 - 支持自定义ORM映射,允许更细粒度地控制映射行为。 - 支持缺省排序,简化了...
通过GORM(Grails Object Relational Mapping),开发者可以轻松地进行数据库操作,而无需编写大量的SQL代码。GORM提供了简化的数据访问API,支持动态查询和 Criteria 查询,大大提升了开发速度。 4. **MVC架构** ...
本项目是一个关于Grails的演示示例,特别关注了数据模型的一对多和多对多关系的配置,以及对MySQL和SQL Server数据库的支持。 1. **一对多关系配置** 在Grails中,一对多关系是通过在模型类中定义`hasMany`属性来...
3. **GRAILS ORM(Object Relational Mapping)**:Grails ORM 提供了ActiveRecord、DataBinding和Criteria查询等模式,简化了数据访问和管理。 4. **GSP(Grails Server Pages)**:类似于JSP的视图层技术,GSP...
2. **数据库优化**:分析SQL语句,避免全表扫描,合理设计索引,优化JOIN操作,都是提升数据库性能的重要手段。 总结,Grails脚手架虽然提供了快速开发的便利,但针对具体项目的需求,我们需要对其进行二次优化,以...
Grails 的动态方法如`save()`, `delete()`, `update()`等,使得数据操作更加直观,减少了大量手写SQL的需求。 10. **国际化与本地化** Grails 支持多语言环境,通过i18n资源文件,轻松实现应用的国际化和本地化。...
3.6.1 启用sql日志 3.6.2 日志记录(logging)和环境 3.7 grails命令行工具 3.7.1 在不同的端口上运行grails应用程序 3.7.2 打包war存档文件(warcarchive) 3.8 使用grails控制台...
通过领域类,开发者可以以面向对象的方式操作数据库,如创建、查询、更新和删除记录,而无需编写SQL。 6. **Grails命令行工具**:学习如何使用Grails的命令行工具创建新项目、生成控制器、服务、模型等,以及运行、...
- **GORM**:Grails 的对象关系映射系统,允许开发者以面向对象的方式操作数据库,无需编写 SQL 语句。 - **GSP**:Groovy Server Pages 的简称,类似于 JSP,用于定义 Grails 应用程序的视图层。 - **控制器**:...
- **动态查找器**:Groovy动态查找器提供了一种简洁的方式来查询数据库,简化了SQL语句的编写。 - **动态查找器的多面性**:通过实例演示了动态查找器的不同用法。 - **协调动态查找器和立即与延迟提取**:解释了...