手记

JPA打印SQL参数

2019-07-18 17:17:1113293浏览

廖师兄

4实战 · 14手记 · 9推荐

        使用过SpringBoot的同学对JPA一定不陌生,用它来操作数据库,一个字,快!

        本文教大家如何打印SQL参数

        先看看如何打印SQL语句,在application.yml里加上如下配置

        控制台就可以看到SQL语句了

接下来是重点了

我左思右想

没打印出SQL参数

无非2个原因


一是JPA压根没这功能,

那就得自己扩展了,想想心好累。。。

二是JPA已经打印了,

只是不展示而已,

你见或者不见,它就在那里


事实证明,我的第二个猜想是正确的。


        它用的是log.trace,只要对这个类设置日志级别不就可以了吗

加好配置后,

激动的心,颤抖的手,这把一定有

运行!



如果日志配置使用的是logback.xml,只需在里面加上

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


我在《SpringBoot微信点餐》课程源码也加上了该配置,有需要的同学可直接查看源码。



7人推荐
随时随地看视频
慕课网APP

热门评论

这不行啊,要的是参数值直接显示在SQL里,不是sql语句和参数分离

依赖
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.1.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- jpa -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- jpa简化插件- https://github.com/wenhao/jpa-spec-->
<dependency>
    <groupId>com.github.wenhao</groupId>
    <artifactId>jpa-spec</artifactId>
    <version>3.2.4</version>
</dependency>

配置

jpa:
  #打印sql
  show-sql: true
org.hibernate.type.descriptor.sql.BasicBinder: trace


spring boot 2.1 版本无效

查看全部评论