springboot实现执行sql语句打印到控制台

 更新时间:2021年06月07日 15:29:51   作者:writeanewworld  
这篇文章主要介绍了springboot实现执行sql语句打印到控制台的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

springboot 执行sql语句打印到控制台

1.简介

每当写完持久化语句时肯定免不了要查漏补缺一波。这里就可以将执行的sql打印到控制台来检查sql语句哪里出了问题。

2.配置

配置非常简单,只需要在配置文件中设置下mapper日志级别就可以了

3.代码

application-test.properties
#logging.level.mapper的路径=异常级别
logging.level.com.shuhe360.auth.auth_main_car_api.mapper.CarConsumeRecordMapper=DEBUG

4.jpa

如果操作数据库用的jpa也可以来手动开启打印语句到控制台的

5.jpa开启

# JPA 相关配置
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
#这里开启sql打印
spring.jpa.show-sql=false
#程序启动时删除并创建实体类对应的那个表(危险)
spring.jpa.hibernate.ddl-auto=none

springboot 打印sql 语句

在配置文件中 application.yml 配置如下其一即可

方式一:

logging:
    level:
      com.xxx.com.dao.mapper: DEBUG //包路径为mapper文件包路径

打印出来的形式如下:

2019-01-24 08:02:14.245 [http-nio-8060-exec-2] DEBUG c.s.a.m.m.U.getUsernameExistSet 159 - ==> Preparing: SELECT username FROM user_info WHERE username in ( ? , ? , ? )
2019-01-24 08:02:14.245 [http-nio-8060-exec-2] DEBUG c.s.a.m.m.U.getUsernameExistSet 159 - ==> Parameters: nike16(String), nike14(String), nike15(String)
2019-01-24 08:02:14.307 [http-nio-8060-exec-2] DEBUG c.s.a.m.m.U.getUsernameExistSet 159 - <== Total: 0
2019-01-24 08:02:14.323 [http-nio-8060-exec-2] DEBUG c.s.a.m.mapper.UserMapper.saveBatch 159 - ==> Preparing: INSERT INTO user_info ( username, password, email, telphone, birthday, createTime, updateTime ) values ( ?, ?, ?, ?, ?, ?, ? ) , ( ?, ?, ?, ?, ?, ?, ? ) , ( ?, ?, ?, ?, ?, ?, ? )
2019-01-24 08:02:14.323 [http-nio-8060-exec-2] DEBUG c.s.a.m.mapper.UserMapper.saveBatch 159 - ==> Parameters: nike14(String), 4f757a334d69b32b586f3694fbaaa9a9869aee184f98e009b6e02b170f92eb9f(String), hgaha@qq.com(String), null, 2018-03-02 02:01:02.0(Timestamp), 2019-01-24 08:02:14.307(Timestamp), 2019-01-24 08:02:14.307(Timestamp), nike15(String), 18a1c9f3e7a69e3f72ab5d80caea96e5c90f5fada8f9a7e92238dc4242ba03f8(String), hgaha@qq.com(String), null, 2018-03-02 02:01:02.0(Timestamp), 2019-01-24 08:02:14.307(Timestamp), 2019-01-24 08:02:14.307(Timestamp), nike16(String), 5912bd4ff3ae134b15347610b64d9f352dd3c89dd2fb5c495cf4699683b33271(String), hgaha@qq.com(String), null, 2018-03-02 02:01:02.0(Timestamp), 2019-01-24 08:02:14.307(Timestamp), 2019-01-24 08:02:14.307(Timestamp)
2019-01-24 08:02:14.338 [http-nio-8060-exec-2] DEBUG c.s.a.m.mapper.UserMapper.saveBatch 159 - <== Updates: 3

方式二:

mybatis
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 

打印出来的形式如下

Creating a new SqlSession
Registering transaction synchronization for SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2e943ddb]
JDBC Connection [HikariProxyConnection@898692052 wrapping com.mysql.jdbc.JDBC4Connection@6a0c5a04] will be managed by Spring
==> Preparing: DELETE FROM user_info WHERE uid in ( ? , ? , ? )
==> Parameters: 44(Long), 45(Long), 46(Long)
<== Updates: 0
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2e943ddb]
Transaction synchronization committing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2e943ddb]
Transaction synchronization deregistering SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2e943ddb]
Transaction synchronization closing SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2e943ddb]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • spring boot定时任务接收邮件并且存储附件的方法讲解

    spring boot定时任务接收邮件并且存储附件的方法讲解

    今天小编就为大家分享一篇关于spring boot定时任务接收邮件并且存储附件的方法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • idea配置tomcat,idea配置web下lib的包详解

    idea配置tomcat,idea配置web下lib的包详解

    这篇文章主要介绍了idea配置tomcat,idea配置web下lib的包,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Java延迟队列原理与用法实例详解

    Java延迟队列原理与用法实例详解

    这篇文章主要介绍了Java延迟队列原理与用法,结合实例形式详细分析了延迟队列的概念、原理、功能及具体使用方法,需要的朋友可以参考下
    2018-09-09
  • 浅析Java中Runnable和Thread的区别

    浅析Java中Runnable和Thread的区别

    在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。接下来通过本文给大家浅析Java中Runnable和Thread的区别,一起看看吧
    2017-02-02
  • java 如何为文件及文件夹添加权限

    java 如何为文件及文件夹添加权限

    这篇文章主要介绍了java 如何为文件及文件夹添加权限的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • SSH框架网上商城项目第10战之搭建商品类基本模块

    SSH框架网上商城项目第10战之搭建商品类基本模块

    这篇文章主要为大家详细介绍了SSH框架网上商城项目第10战之搭建商品类基本模块的相关资料,有一定的实用性,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • 浅谈System.getenv()和System.getProperty()的区别

    浅谈System.getenv()和System.getProperty()的区别

    这篇文章主要介绍了System.getenv()和System.getProperty()的区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • 设计模式系列之组合模式及其在JDK和MyBatis源码中的运用详解

    设计模式系列之组合模式及其在JDK和MyBatis源码中的运用详解

    这篇文章主要介绍了组合模式及其在JDK和MyBatis源码中的运用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • spring boot使用logback实现多环境日志配置详解

    spring boot使用logback实现多环境日志配置详解

    这篇文章主要介绍了spring boot使用logback实现多环境日志配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • java中的引用类型之强软弱虚详解

    java中的引用类型之强软弱虚详解

    这篇文章主要给大家介绍了关于java中引用类型之强软弱虚的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06

最新评论