温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在Grails下查看真实的SQL

发布时间:2021-07-28 22:06:03 来源:亿速云 阅读:195 作者:chen 栏目:云计算

本篇内容主要讲解“如何在Grails下查看真实的SQL”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何在Grails下查看真实的SQL”吧!

  以往我们都是在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}

到此,相信大家对“如何在Grails下查看真实的SQL”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI