以往我们都是在hibernate里面开启sql,在grails里面只需要在 DataSource.groovy 里面的一个dataSource加入一个
logSql = true即可,但是这样加后发出的SQL是这样的 , insert into t_user values(?,?,?) 看不到 ? 里面的值
如果我想看到里面真实的值,即:insert into t_user values(1,'test','test')
采用log4jdbc即可,步骤如下:
1.下载 log4jdbc4-1.2.1.jar 加入 lib 下 (见附件)
2. 在 grails-app/conf/spring/resources.groovy 文件里面加入一个bean让spring管理,如下:
beans = {
log4jdbcInterceptor(net.sf.log4jdbc.DataSourceSpyInterceptor)
dataSourceLog4jdbcAutoProxyCreator(org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator){
interceptorNames = 'log4jdbcInterceptor'
beanNames = 'dataSource'
}
}
3. 在log4j中开启对 log4jdbc的支持。在grails-app/conf/Config.groovy里面的 log4j 里面加入:
off 'jdbc.sqlonly',
'jdbc.audit',
'jdbc.resultset',
'jdbc.connection'
info 'jdbc.sqltiming'
现在在你的项目中再试试,可以看到真实的SQL 了
2011-07-04 11:00:12,443 [http-8090-3] INFO jdbc.sqltiming -
select
count(*) as y0_
from
user this_ {executed in 16 msec}
分享到:
相关推荐
3. **GORM(Grails Object-Relational Mapping)**:Grails的内置ORM工具,允许开发者以声明式的方式操作数据库,支持SQL的CRUD操作,简化了数据持久化的过程。GORM支持多种数据库,如MySQL、PostgreSQL等。 4. **...
在实际开发中,了解并遵循Grails的最佳实践至关重要,例如,合理划分领域模型、充分利用GSP标签库、使用Service层处理业务逻辑等,能有效提高代码质量和维护性。 总结,Grails 2.4.4 作为一个成熟的Web开发框架,...
通过GORM(Grails Object Relational Mapping),Grails提供了自动的ORM支持,使得开发者无需编写复杂的SQL语句即可实现数据的持久化操作。 #### Controllers(控制器) 控制器(Controllers)负责处理来自用户的...
Grails 1.1 变更了插件存储路径,默认不再保存在 `PROJECT_HOME/plugins` 目录下。如果你遇到因插件导致的编辑错误,可以在 `grails-app/conf/BuildConfig.groovy` 文件中添加以下配置: ``` grails.project....
在这个例子中,你可能学会了如何在Grails中使用`groovy.sql.Sql`类或者HQL(Hibernate Query Language)进行定制化查询。 3. **分页功能**:在Web应用中,数据分页是很常见的需求。Grails提供了方便的分页API,可以...
- **配置管理**:通过`grails-app/conf/`目录下的配置文件,如`Config.groovy`,进行项目配置。 3. **控制器和视图**: - **Controllers**:控制器负责接收用户请求,调用业务逻辑,然后返回响应到视图。 - **...
然而,尽管脚手架在很多场景下能快速满足需求,但在实际项目中,我们往往需要对其进行二次优化以适应更复杂或个性化的业务逻辑。本文将深入探讨如何对Grails脚手架进行二次优化,以提升应用的功能和用户体验。 一、...
通过GORM(Grails Object Relational Mapping),开发者可以轻松地进行数据库操作,而无需编写大量的SQL代码。GORM提供了简化的数据访问API,支持动态查询和 Criteria 查询,大大提升了开发速度。 4. **MVC架构** ...
在`grails-app/conf/DataSource.groovy`文件中,我们可以配置不同的环境(如开发、测试和生产)下的数据库连接信息。例如,对于MySQL: ```groovy environments { development { dataSource { dbCreate = ...
Grails 的动态方法如`save()`, `delete()`, `update()`等,使得数据操作更加直观,减少了大量手写SQL的需求。 10. **国际化与本地化** Grails 支持多语言环境,通过i18n资源文件,轻松实现应用的国际化和本地化。...
- CRUD操作:Grails自动生成了保存和创建新记录的方法,如`save()`,开发者无需编写复杂的SQL语句。 3. **读取数据(Read)** - 查询:GORM提供了丰富的查询API,如`findAll()`, `findOne()`, `findById()`, `...
2. **GORM(Grails Object-Relational Mapping)**:这是Grails内置的数据持久化框架,允许开发者使用领域模型对象直接操作数据库,无需编写SQL语句。GORM支持关系型数据库,如MySQL、PostgreSQL,同时也支持NoSQL...
- **GORM**:Grails 的对象关系映射系统,允许开发者以面向对象的方式操作数据库,无需编写 SQL 语句。 - **GSP**:Groovy Server Pages 的简称,类似于 JSP,用于定义 Grails 应用程序的视图层。 - **控制器**:...
- Grails版本信息可以在项目的`BuildConfig.groovy`文件中找到。 **文档引擎** - 提供了文档生成工具,帮助开发者快速生成API文档。 **依赖解析** - Grails使用Ivy作为其依赖管理系统。 - 支持配置依赖关系,包括...
在“Groovy轻松入门—Grails实战基础篇”中,我们将探讨以下几个关键知识点: 1. **Groovy基础知识**:学习Groovy的基础语法,包括闭包、动态类型、语法糖等特性。例如,Groovy允许开发者使用更简洁的语句进行方法...
3.7.1 在不同的端口上运行grails应用程序 3.7.2 打包war存档文件(warcarchive) 3.8 使用grails控制台(console)及命令解释程序(shell) 3.8.1 使用命令行shell 3.8.2 grails控制台...
1. **创建配置文件**:在`grails-app/conf`目录下创建一个名为`application.groovy`的文件(如果尚未存在)。这是Grails的主配置文件,用于存放应用程序的配置信息。 2. **定义数据源**:在`application.groovy`...
在Grails中,数据查询是核心功能之一,允许开发者高效地与数据库交互。 ### 1. GORM (Grails Object Relational Mapping) GORM是Grails的核心组件,提供了一种简单的方式来处理数据持久化。它是一个ORM(对象关系...
- **引用数据**:介绍了如何在Grails应用中处理引用数据,即领域类之间的引用关系。 #### 七、控制应用流 **7.1 控制器的本质** - **控制器**:控制器是MVC模式中的重要组成部分,负责接收用户请求并调用相应的...