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 Starter有助于在Spring Boot项目中快速方便地使用 。 Log4jdbc特别方便,因为它可以记录准备运行... < artifactId>log4jdbc-spring-boot-starter</ artifactId>
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 Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。 p6spy的安装步骤: 1. 下载p6spy的安装包 2. 把p6spy的jar包放到Classpath中,如果是WEB App...
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 5/6和Spring Boot 2 如果您需要深入了解该存储库中提供的性能配方,那么我相信您会喜欢我的书“ ...说明:通过Log4J 2记录器设置查看准备好的语句绑定/提取的参数。 关键点: 对于Maven,在po
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.connection.url jdbc:firebirdsql:localhost/3050:/firebird/test.gdb ## Pointbase #hibernate.dialect org.hibernate.dialect.PointbaseDialect #hibernate.connection.driver_class ...
hibernate,SQLserver和MySQL的JDBC, log4j和log4j的配置文件(已经写好的)
log4j.appender.appender3.URL=jdbc:mysql://127.0.0.1:3306/doroodo?characterEncoding=UTF-8 ---->日志数据库链接 log4j.appender.appender3.user=root ---->日志数据库用户名 log4j.appender.appender3.password=...
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...
oracle的jdbc驱动程序,用这个版本的操作Clob,blob类型的数据很方便。 博文链接:https://zhenjw.iteye.com/blog/173419
数据表Blob字段在Hibernate持久化映射文件中的type为org.springframework.orm.hibernate3.support.BlobByteArrayType,即Spring所提供的用户自定义的类型,而非java.sql.Blob。 3在Spring中使用org.springframework...
此系统一个相册管理系统,可以使用中文和英文。 在web\WEB-INF\classes目录下有一个...在web\WEB-INF\classes目录下log4j.xml文件是配置日志的。其余文件不需要配置。建表的SQL语句在当前目录的CreateTable.sql文件中。
这是一个完整的S2SI框架,附jar包和建表语句,里面有添、删、改、查通用查询方法,并且,加了log4j,所以对数据库操作SQL都会在控制台打印出来,加有最新的jQuery插件1.7.2.min.js,建好表,部署完工程直接就可以...
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的配置文件 加入...
│ log4j.properties │ messageResource_zh_CN.properties │ spring.xml │ struts.xml │ ├─28个java常用的工具类 │ │ Base64.java │ │ Base64DecodingException.java │ │ CConst.java │ │ CharTools....
一个语言转换工具, Hibernate利用它实现 HQL 到 SQL 的转换模板相关操作需要包 javassist-3.9.0.GA.jar 代码生成工具 Hibernate用它在运行时扩展 Java类和实现,同cglib包 slf4j-api-1.5.8.jar和slf4j-log4j12-...
Maven框架项目该项目不再更新维护,请移步该项目基于maven3.0构建的,项目中融合了Struts1 , Struts2 , Spring , SpringMVC , ...项目中的持久化框架sql语句的跟踪分别采用log4jdbc结合log4j和p6spy ,在控
* 添加Log4j支持,输出MyBatis的日志 三、课程体系 〖Java学习指南系列〗:包含入门与进阶语法,Swing桌面开发,安卓开发,JavaFX开发,网络通信Socket,数据结构与算法等课程。 〖网站开发系列〗:包
# 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=...