网上有很多是输出sql ,参数以?的形式,后面输出参数binding的log,还要自己拼接特别麻烦;这里整理下输出原生sql的方法。组件是log4jdbc

1: 修改pom.xml,确定有下面的配置,其中前三个是指定slf4j用log4j2;

<!-- log配置:Log4j2 + Slf4j -->
<dependency>
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-web</artifactId>
  <version>2.1</version>
</dependency>
<dependency> <!-- 桥接:告诉Slf4j使用Log4j2 -->
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-slf4j-impl</artifactId>
  <version>2.1</version>
</dependency>
<dependency> <!-- 桥接:告诉commons logging使用Log4j2 -->
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-jcl</artifactId>
  <version>2.1</version>
</dependency>
<dependency>
  <groupId>com.googlecode.log4jdbc</groupId>
  <artifactId>log4jdbc</artifactId>
  <version>1.2</version>
</dependency>

2: 修改数据库配置文件,我的项目名字里是 jdbc-datasource.properties

hibernate.default_schema=test
hibernate.hbm2ddl.auto=none
db.provider.name=oracle
jdbc.driver=net.sf.log4jdbc.DriverSpy
jdbc.url=jdbc:log4jdbc:oracle:thin:@//192.168.8.10:1521/dsdb
jdbc.user=test
jdbc.password=test 原先是
#jdbc.driver=oracle.jdbc.driver.OracleDriver
#jdbc.url=jdbc:oracle:thin:@//192.168.6.98:1521/dsdb

3: 修改log4j2.xml

    <logger name="jdbc.sqltiming" level="INFO">
<appender-ref ref="hibernate.sql" /> <!-- 这里要替换成自己的 -->
</logger>
<logger name="jdbc.resultsettable" level="OFF"></logger>
<logger name="jdbc.sqlonly" level="OFF"></logger>
<logger name="jdbc.audit" level="OFF"></logger>
<logger name="jdbc.resultset" level="OFF"></logger>
<logger name="jdbc.connection" level="OFF"></logger>

最后结果,还带执行时间;

hibernate log4j2输出sql带参数的更多相关文章

  1. PYTHON 中 SQL 带参数

    使用 PYTHON 的字符串填充方式 import mysql.connector sql = 'select \* from school.student where age > {age} ...

  2. Druid搭配log4j2输出SQL语句和结果

    一.引言 其实Druid的内置了log4jdbc来显示SQL语句,虽然显示效果不如原生的log4jdbc效果好,但是因为内置所以不需要其他更多的配置. 二.使用 1. 创建基于druid的logger ...

  3. hibernate log4j 输出sql

    applicationContext.xml <bean id="sessionFactory"        class="org.springframework ...

  4. SQL带参数拼接

    List<SqlParameter> paras = new List<SqlParameter>(); string wherSql = PreWhereSQL + GetQ ...

  5. Liferay中SQL打印参数

      XX\tomcat-7.0.42\webapps\ROOT\WEB-INF\classes\log4j.properties log4j.rootLogger=INFO, CONSOLE log4 ...

  6. log4j2打印jdbcTemplate的sql以及参数

    log4j2打印jdbcTemplate的sql以及参数 ——IT唐伯虎 摘要: log4j2打印jdbcTemplate的sql以及参数. 在log4j2.xml加上这两个logger即可: < ...

  7. 执行带参数的sql字符串

    --要传入的参数 declare @Rv NVARCHAR(40) --要执行的带参数的sql字符串 declare  @sql nvarchar(max) set @sql='select * fr ...

  8. Shell Scipt 命令行带参数,输出log

    命令行带参数,以及字符串参数放到ssh命令里可以这么放: #!/bin/bash        这行保证运行bash可以这样: ./data.sh if [ $# != 4 ]; then echo ...

  9. 通过带参数的Sql语句来实现模糊查询(多条件查询)

    #region 通过带参数的Sql语句来实现模糊查询(多条件查询) StringBuilder sb = new StringBuilder("select * from books&quo ...

随机推荐

  1. Java有几种引用类型?

    有这样一类对象:当内存空间还足够,则可保留在内存中:如果内存空间在gc之后还是非常紧张,则可抛弃这些对象.很多系统的缓存功能适合这样的场景,所以jdk1.2以后 java将引用分为了强引用.软引用.弱 ...

  2. Centos 6.5 hadoop 2.2.0 全分布式安装

    hadoop 2.2.0 cluster setup 环境: 操作系统:Centos 6.5 jdk:jdk1.7.0_51 hadoop版本:2.2.0 hostname    ip master ...

  3. Entity Framework:Code-First Tutorial开篇

    这个系列文章是关于Entity Framework Code-First的英文系列文章,内容不错,每篇一个主题知识点介绍,特转载过来 原文地址:http://www.entityframeworktu ...

  4. img src 直接显示图片字符串,微信例子

    <div class="weui-cell__hd"><img src="data:image/png;base64,iVBORw0KGgoAAAANS ...

  5. Ubuntu下Apache2+Tomact7安装、配置及整合

    安装Apache2 命令:apt-get install apache2 cd  /etc/apache2 打开apache.conf 加入 ServerName localhostDirectory ...

  6. 【Android-stdio-appdemo搭建记录】

    1-如何删除存在的工程 2-创建Android项目 next设置app兼容最低版本:api15--android 4.0以上 创建活动页面 设置活动页面的名称 创建成功项目以后会有最基本的layout ...

  7. nodebrew

    创建: 2019/05/30 完成: 2019/05/30  安装  安装 curl -L git.io/nodebrew | perl - setup 更新nodebrew nodebrew sel ...

  8. [CodeChef] The Street

    给定两个长度为n的数列A和B,开始数组A中每一项值为0,数组B中每一项值为负无穷大.接下来有m次操作:1.数组A区间加一个等差数列:2.数组B区间对一个等差数列取max:3.询问ai+bi的值.n&l ...

  9. Maven的相关知识及使用

    一.简介 maven: 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的,Maven是跨平台的项目管理工具. 1.自动化构建和项目管理工具 Ant→Make→Maven ...

  10. UVA - 12563 Jin Ge Jin Qu hao (01背包)

    InputThe first line contains the number of test cases T (T ≤ 100). Each test case begins with two po ...