[hibernate]log4jdbc日志输出完整SQL语句

1.在maven引入:

<dependency>                                  
    <groupId>log4j</groupId>                  
    <artifactId>log4j</artifactId>            
    <version>1.2.17</version>                 
</dependency>                                 
                                              
<dependency>                                  
    <groupId>com.googlecode.log4jdbc</groupId>
    <artifactId>log4jdbc</artifactId>         
    <version>1.2</version>                    
</dependency>                                 
                                              
<dependency>                                  
    <groupId>org.slf4j</groupId>              
    <artifactId>slf4j-log4j12</artifactId>    
    <version>1.7.24</version>                 
</dependency>  

2.log4j.properties配置如下:

#记录系统执行过的sql语句
log4j.logger.jdbc.sqlonly=DEBUG,console
#记录sql执行的时间,可以分析耗时的sql语句
log4j.additivity.jdbc.sqltiming=true
log4j.logger.jdbc.sqltiming=INFO,console
#记录除了ResultSet外的所有JDBC调用情况。一般不需要。
#log4j.additivity.jdbc.audidt=true
#log4j.logger.jdbc.audit=INFO,console
#记录返回结果集信息
#log4j.additivity.jdbc.resultset=true
#log4j.logger.jdbc.resultset=INFO,console
#记录数据库连接和释放信息,可记录当前的数据库连接数,便于诊断连接是否释放
#log4j.additivity.jdbc.connection=true
#log4j.logger.jdbc.connection=INFO,console

#控制台输出
log4j.appender.console=org.apache.log4j.ConsoleAppender
#控制台输出格式定义
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n

3.修改数据库连接配置如下:

#数据库驱动
mysql.driver=net.sf.log4jdbc.DriverSpy
#数据库连接URL
mysql.url=jdbc:log4jdbc:mysql://localhost/test

 

结果如下:

[QC] INFO [http-apr-8070-exec-7] net.sf.log4jdbc.Slf4jSpyLogDelegator.sqlTimingOccured(370) | select bookent0_.n_id as n_id1_0_, bookent0_.d_create_time as d_create2_0_, bookent0_.s_created_by
as s_create3_0_, bookent0_.d_update_time as d_update4_0_, bookent0_.s_updated_by as s_update5_0_,
bookent0_.n_chapternum as n_chapte6_0_, bookent0_.s_name as s_name7_0_, bookent0_.s_profile
as s_profil8_0_, bookent0_.s_remark as s_remark9_0_, bookent0_.n_size as n_size10_0_, bookent0_.n_sort
as n_sort11_0_, bookent0_.n_type as n_type12_0_, bookent0_.s_url as s_url13_0_ from jy_book
bookent0_ where 1=1 and bookent0_.n_type=1 order by bookent0_.n_sort desc
{executed in 9 msec}

转载于:https://www.cnblogs.com/afeng2010/p/10324413.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要查看接口的SQL语句,你可以使用一些工具或方法来进行调试和监视。以下是一些常用的方法: 1. 使用数据库管理工具:如果你使用的是某个数据库管理工具(如MySQL Workbench、Navicat等),你可以在工具中查看接口执行的SQL语句。通常这些工具会提供一个查询日志或查询历史记录的功能,可以帮助你追踪接口调用时执行的SQL语句。 2. 使用ORM框架的调试功能:如果你的接口使用了ORM(对象关系映射)框架(如Hibernate、MyBatis等),这些框架通常提供了调试功能,可以打印出执行的SQL语句。你可以查阅相关框架的文档,了解如何启用调试功能并查看SQL语句。 3. 在代码中打印SQL语句:如果你有接口的源代码,并且知道具体执行SQL语句的代码位置,你可以在代码中添加打印语句输出SQL语句。例如,在Java中,你可以使用日志框架(如log4j、slf4j等)将SQL语句打印到日志文件中,或者直接在控制台输出。 4. 使用数据库代理工具:有一些数据库代理工具(如p6spy、JDBC Proxy等)可以截获应用程序和数据库之间的通信,并记录下执行的SQL语句。你可以将这些工具配置到应用程序中,以便捕获和查看接口执行的SQL语句。 请注意,在生产环境中查看SQL语句可能会涉及敏感信息的泄露,所以建议仅在开发或测试环境中使用这些方法。另外,确保你有合适的权限和合法的目的来查看SQL语句
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值