JPA打印sql以及参数设置

Posted wangxiaofengde

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JPA打印sql以及参数设置相关的知识,希望对你有一定的参考价值。

一. jpa怎么打印sql语句?

现在网上的办法大多是:在properties文件中添加: spring.jpa.show-sql=true.

这样可以吗?可以.但是系统是用System.out.println方法打印的,不好管理.

技术图片

 

我想使用图片中1的log打印怎么设置呢?

在logback.xml中加入<logger name="org.hibernate.SQL" level="DEBUG"/>就可以了.

二.jpa怎么打印参数?

上面的配置,只能打印sql语句,sql中需要的参数没有输出出来.

<logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="trace" />

加入上面的logger配置,就可以打印sql参数了.

三.jpa打印的select语句超级多,我不想看到select sql语句怎么办?

给appender输出添加过滤器就行了.

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator> <!-- defaults to type ch.qos.logback.classic.boolex.JaninoEventEvaluator -->
<expression>return message.contains("select");</expression>
</evaluator>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>DENY</OnMatch>
</filter>
<encoder>
<pattern>$CONSOLE_LOG_PATTERN</pattern>
<charset>utf8</charset>
</encoder>
</appender>

添加这个filter应该还需要引入一个jar,否则启动报错.

<dependency>
    <groupId>org.codehaus.janino</groupId>
    <artifactId>janino</artifactId>
    <version>3.0.7</version>
</dependency>

 


 

以上是关于JPA打印sql以及参数设置的主要内容,如果未能解决你的问题,请参考以下文章

JPA 打印sql带参数

JPA 打印sql带参数

jpa @Query()参数设置,??X实体类对象参数设置

SQL参数如何设置

hibernate打印SQL及参数

如何设置hibernate打印sql语句