`

Hibernate-SQL打印(log4jdbc应用)

 
阅读更多

 

J2EE开发中,特别是使用了Hibernate的项目,在开发阶段,有时候开发人员想看看程序执行的时候实际执行的SQL和动态SQL传入的参数情况,以调试和判断程序逻辑。本文总结下怎么实现,希望对你有用。~

 

hibernate打开SQL显示

这个比较简单,大多说人都知道,呵呵,配置如下:

 

hibernate.show_sql=true

hibernate.format_sql=false

 

使用log4jdbc

log4jdbc打印执行的SQL(包括参数)和输出数据(有点想MYSQL的CMD命令执行结果)

log4jdbc是在JDBC层切入,打印出实际执行的SQL语句和数据库返回数据,所以,就算不是使用Hibernate也可以使用,因为涉及数据库JDBC驱动的变更,建议在开发环境使用。

http://code.google.com/p/log4jdbc/

 

1.Maven 依赖(官方在googlecode,目前没有,按springside的文档,使用下面这个代替,测试了OK):

<dependency>
  <groupId>org.lazyluke</groupId>
  <artifactId>log4jdbc-remix</artifactId>
  <version>0.2.7</version>
</dependency>

 

2.数据库连接配置修改为:

# 自使用驱动,但是请确保你url里面配置数据库对应的驱动是存在的。

jdbc.driver=net.sf.log4jdbc.DriverSpy

# 前端修改为jdbc:log4jdbc

jdbc.url=jdbc:log4jdbc:oracle:thin:@localhost:1521:xe

 

3.log4j配置,按组件的需求进行输出

# log4jdbc

log4j.logger.jdbc.sqltiming=INFO

log4j.logger.jdbc.audit=OFF

log4j.logger.jdbc.resultset=OFF

log4j.logger.jdbc.sqlonly=INFO

 

结果如下:

17:27:07,488 INFO [jdbc.sqltiming] - <select contenttyp0_.id as id3_1_, contenttyp0_.name as name3_1_, contenttyp0_.parentid as parentid3_1_, 

contenttyp0_.remrk as remrk3_1_, contenttyp1_.id as id3_0_, contenttyp1_.name as name3_0_, 

contenttyp1_.parentid as parentid3_0_, contenttyp1_.remrk as remrk3_0_ from cms_content_type 

contenttyp0_ left outer join cms_content_type contenttyp1_ on contenttyp0_.parentid=contenttyp1_.id 

where contenttyp0_.id=110  {executed in 2 msec}>

17:27:07,489 INFO [jdbc.resultsettable] - <|---------|---------|-------------|----------|-------|---------|-------------|>

17:27:07,489 INFO [jdbc.resultsettable] - <|ID3_1_   |NAME3_1_ |PARENTID3_1_ |REMRK3_1_ |ID3_0_ |NAME3_0_ |PARENTID3_0_ |>

17:27:07,489 INFO [jdbc.resultsettable] - <|---------|---------|-------------|----------|-------|---------|-------------|>

17:27:07,490 INFO [jdbc.resultsettable] - <|[unread] |JAVA5    |103          |null      |103    |[unread] |[unread]     |>

17:27:07,490 INFO [jdbc.resultsettable] - <|---------|---------|-------------|----------|-------|---------|-------------|>

 

安逸~~

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    log4jdbc-spring-boot-starter:将Log4jdbc与Spring Boot结合使用的启动器

    Log4jdbc Spring Boot Starter Log4jdbc Spring Boot Starter有助于在Spring Boot项目中快速方便地使用 。 Log4jdbc特别方便,因为它可以记录准备运行... &lt; artifactId&gt;log4jdbc-spring-boot-starter&lt;/ artifactId&gt;

    cxf(jax-ws)+spring+hibernate整合包

    spring-expression-3.0.7.RELEASE.jar,spring-hibernate3.jar,spring-jms-3.0.7.RELEASE.jar,spring-tx-3.0.7.RELEASE.jar,spring-web-3.0.7.RELEASE.jar,sqljdbc4.jar,stax2-api-3.1.1.jar,velocity-1.7.jar,WHICH_...

    P6SPY JDBC拦截打印sql语句 非常好的调试工具

    P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。 p6spy的安装步骤: 1. 下载p6spy的安装包 2. 把p6spy的jar包放到Classpath中,如果是WEB App...

    c3p0-0.9.1.2等等

    antlr-2.7.6rc1.jar(下面的略.jar) asm.jar asm-2.2.3.jar asm-attrs.jar ...sqljdbc struts velocity-1.5 velocity-tools-1.3 xapool xerces-2.6.2 xml-apis (我做毕业设计时,用到的。需要的话拿去用)

    Hibernate-SpringBoot:收集Spring Boot应用程序中的Java持久性性能的最佳实践

    最佳性能实践Hibernate 5/6和Spring Boot 2 如果您需要深入了解该存储库中提供的性能配方,那么我相信您会喜欢我的书“ ...说明:通过Log4J 2记录器设置查看准备好的语句绑定/提取的参数。 关键点: 对于Maven,在po

    springmvc 各种jar包

    springmvc 各种jar包 apache springmvc 等 0,activation-1.1.1.jar 1,aliyun-openservices-1.0.12.jar 2,antlr-2.7.7.jar 3,aopalliance-1.0.jar ... 64,sqlserver-jdbc-4.0.jar 65,validation-api-1.0.jar

    hibernate.properties

    #hibernate.connection.url jdbc:firebirdsql:localhost/3050:/firebird/test.gdb ## Pointbase #hibernate.dialect org.hibernate.dialect.PointbaseDialect #hibernate.connection.driver_class ...

    hibernate5.0.2Set.rar

    hibernate,SQLserver和MySQL的JDBC, log4j和log4j的配置文件(已经写好的)

    智能开发平台 DOROODO

    log4j.appender.appender3.URL=jdbc:mysql://127.0.0.1:3306/doroodo?characterEncoding=UTF-8 ----&gt;日志数据库链接 log4j.appender.appender3.user=root ----&gt;日志数据库用户名 log4j.appender.appender3.password=...

    ssmbootstrap_table:采用spring+springmvc+mybatis+bootstrap搭建的demo,是jfinal-bootstrap-table的兄弟版^_^

    log4jdbc/log4jdbc-remix/log4jdbc-log4j2(show sql) hibernate-validator SUI mobile lombok ehcache metrics springfox spring-websocket zxing jwebunit mockito itextpdf github: git@osc: Stargazers over time...

    关于在Hibernate中对于Clob,Blob字段的处理方法

    oracle的jdbc驱动程序,用这个版本的操作Clob,blob类型的数据很方便。 博文链接:https://zhenjw.iteye.com/blog/173419

    ssh(structs,spring,hibernate)框架中的上传下载

    数据表Blob字段在Hibernate持久化映射文件中的type为org.springframework.orm.hibernate3.support.BlobByteArrayType,即Spring所提供的用户自定义的类型,而非java.sql.Blob。 3在Spring中使用org.springframework...

    Java电子相册

    此系统一个相册管理系统,可以使用中文和英文。 在web\WEB-INF\classes目录下有一个...在web\WEB-INF\classes目录下log4j.xml文件是配置日志的。其余文件不需要配置。建表的SQL语句在当前目录的CreateTable.sql文件中。

    Struts2+Ibatis+Spring例子

    这是一个完整的S2SI框架,附jar包和建表语句,里面有添、删、改、查通用查询方法,并且,加了log4j,所以对数据库操作SQL都会在控制台打印出来,加有最新的jQuery插件1.7.2.min.js,建好表,部署完工程直接就可以...

    SSH第7章上机.zip ACCP8.0

    org.springframework.jdbc-3.1.3.RELEASE.jar org.springframework.orm-3.1.3.RELEASE.jar org.springframework.transaction-3.1.3.RELEASE.jar 加入配置文件 加入spring的配置文件 加入hibernate的配置文件 加入...

    前端-后端java的Util类的工具类

    │ log4j.properties │ messageResource_zh_CN.properties │ spring.xml │ struts.xml │ ├─28个java常用的工具类 │ │ Base64.java │ │ Base64DecodingException.java │ │ CConst.java │ │ CharTools....

    java开发常用jar包

    一个语言转换工具, Hibernate利用它实现 HQL 到 SQL 的转换模板相关操作需要包 javassist-3.9.0.GA.jar 代码生成工具 Hibernate用它在运行时扩展 Java类和实现,同cglib包 slf4j-api-1.5.8.jar和slf4j-log4j12-...

    maven-framework-project:基于maven的多框架和多视图融合技术(Struts1,Struts2,Spring,SpringMVC,Hibernate,Ibatis,MyBatis,Spring Data JPA,DWR)

    Maven框架项目该项目不再更新维护,请移步该项目基于maven3.0构建的,项目中融合了Struts1 , Struts2 , Spring , SpringMVC , ...项目中的持久化框架sql语句的跟踪分别采用log4jdbc结合log4j和p6spy ,在控

    Java学习指南21 MyBatis框架

    * 添加Log4j支持,输出MyBatis的日志 三、课程体系 〖Java学习指南系列〗:包含入门与进阶语法,Swing桌面开发,安卓开发,JavaFX开发,网络通信Socket,数据结构与算法等课程。 〖网站开发系列〗:包

    p6spy日志监控 sql注入

    # realdriver=oracle.jdbc.driver.OracleDriver # mysql Connector/J driver # realdriver=com.mysql.jdbc.Driver # informix driver # realdriver=com.informix.jdbc.IfxDriver # ibm db2 driver # realdriver=...

Global site tag (gtag.js) - Google Analytics