`
kanpiaoxue
  • 浏览: 1777512 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

mybatis输出sql的日志

 
阅读更多

mybatis要是想输出它所有执行的sql,可以为它添加一个logger。比如我们自己写的mapper类都放在org.kanpiaoxue.test.mapper的package里面。我们就可以为这个package添加一个logger。

下面给出springboot中的配置:

 

# logging start
logging.file: "${LOG_PATH:-/hello/logs}/hello.log"
logging:
  file:
    max-size: 100MB
    max-history: 20
  level:
    root: INFO
    org.springframework: INFO
    org.kanpiaoxue: INFO
    org.kanpiaoxue.dao: DEBUG
  pattern: 
    file: "%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39}[lineno:%line]: %m%n${LOG_EXCEPTION_CONVERSION_WORD:%wEx}"
    

 

参考: https://stackoverflow.com/questions/41001188/spring-boot-with-spring-mybatis-how-to-force-it-to-logging-all-sql-queries

 

 

原文:

Spring boot uses logback as default logging provider for Slf4j. Ibatis internal log factory loads the SLF4j as the first choice logger. All you have to do is configure your spring boot logger to publish log messages for ibatis mapper.

Add the below lines in boot application properties.

logging.level.org.springframework=WARN
logging.level.com.spring.ibatis.UserMapper=DEBUG
logging.file=logs/spring-boot-logging.log

The second line is where you define the logging entry for ibatis mapper with DEBUG log level. com.spring.ibatis is package and the UserMapper is sample mapper.

The following logs will start to appear in the console and in the spring-boot-logging file. These are the log messages generated from saveUser and findByName method of ApplicationTest class.

2016-12-1922:07:06.358  INFO 7248---[main] com.spring.ibatis.ApplicationTest:StartedApplicationTest in 3.048 seconds (JVM running for4.209)2016-12-1922:07:06.424 DEBUG 7248---[main] com.spring.ibatis.UserMapper.saveUser    :==>Preparing: insert into users(name) values(?)2016-12-1922:07:06.444 DEBUG 7248---[main] com.spring.ibatis.UserMapper.saveUser    :==>Parameters: ibatis(String)2016-12-1922:07:06.445 DEBUG 7248---[main] com.spring.ibatis.UserMapper.saveUser    :<==Updates:12016-12-1922:07:06.457 DEBUG 7248---[main] com.spring.ibatis.UserMapper.findByName  :==>Preparing: select name from users WHERE name=?2016-12-1922:07:06.470 DEBUG 7248---[main]  com.spring.ibatis.UserMapper.findByName  :==>Parameters: ibatis(String)2016-12-1922:07:06.504 DEBUG 7248---[main]  com.spring.ibatis.UserMapper.findByName  :<==Total:1

You can of course configure any choice of logger you want. I can easily add an example for any other logger should you need.

You can find the complete code with Junit test cases at https://github.com/saagar2000/ibatis

 

 

 

分享到:
评论

相关推荐

    Mybatis日志SQL解析工具

    该工具可以将mybatis输出的sql日志提取出来,并将其格式化为可以直接执行的sql语句,节约开发人员时间

    mybatis 日志 sql参数替换工具

    非常好用的,就是你们所要的 Mybatis日志参数快速替换占位符 sql参数替换工具html

    ideal mybatis打印sql插件

    把 mybatis 输出的sql日志还原成完整的sql语句。 将日志输出的sql语句中的问号 ? 替换成真正的参数值。 通过 "Tools -&gt; MyBatis Log Plugin" 菜单或快捷键 "Ctrl+Shift+Alt+O" 启用。 点击窗口左边的 "Filter" ...

    原样输出mybatis的sql执行语句(mysql和oracle都可用).zip

    - 虽然输出SQL可以帮助调试,但在生产环境中过多的日志输出可能会消耗大量资源,因此建议仅在开发和测试阶段开启。 - 不同数据库的方言可能会导致SQL的格式化和输出方式有所不同,确保日志处理能适应不同的方言。 ...

    mybatis查询入门(log4j控制台sql语句日记输出的)

    【标题】"mybatis查询入门(log4j控制台sql语句日记输出的)"涉及的知识点主要集中在MyBatis框架的基础使用以及如何通过Log4j在控制台输出SQL语句,以便于调试和优化数据库操作。MyBatis是一个轻量级的Java持久层框架...

    springboot+mybatis+sql日志

    在这个"springboot+mybatis+sql日志"的主题中,我们将探讨如何在Spring Boot应用中整合MyBatis,并通过Logback实现动态打印SQL日志,以及根据不同包名将日志输出到不同的文件。 首先,Spring Boot与MyBatis的集成...

    springmvc+mybatis+mysql+log4jdbc+excel 实现sql日志输出和excel导出

    在本项目中,"springmvc+mybatis+mysql+log4jdbc+excel 实现sql日志输出和excel导出",开发者旨在构建一个基于SpringMVC、MyBatis、MySQL数据库,利用Log4jdbc记录SQL日志,并通过Jxls进行Excel数据导出的功能完善的...

    Mybatis Log(自动填充sql参数打印到控制台)

    为了开启SQL日志输出,我们需要在项目的配置中设置相应的日志级别,并确保选择的日志库已添加到项目依赖中。例如,如果你使用的是Log4j,可以在`log4j.properties`或`log4j.xml`文件中配置: ```properties # log4j...

    jeecg-mybatis-framework项目实例

    与传统的JDBC相比,Mybatis通过XML或注解方式配置SQL语句,使得SQL与Java代码分离,提高了代码的可读性和可维护性。此外,Mybatis还支持动态SQL,能更灵活地处理复杂查询。 在“jeecg-mybatis-framework”项目中,...

    idea mybatislog 日志打印 打印完整sql

    本文将详细介绍如何在IntelliJ IDEA中配置MyBatis日志打印,以便完整地输出SQL。 首先,我们需要了解MyBatis的日志系统。MyBatis支持多种日志实现,包括Log4j、Logback和Java内置的日志API。默认情况下,MyBatis会...

    mybatis-log-plugin:将Mybatis SQL日志还原到原始的整个可执行SQL

    还原MyBatis输出的日志为完整的SQL语句。 把SQL日志里面的?替换为真正的参数值。 选中要还原的MyBatis日志,右键点击菜单Restore Sql,还原SQL语句. Java接口方法与Mapper xml文件互相跳转。 按钮作用 Text: 从文本...

    mybatis+spring 框架中配置日志中显示sql语句

    总结来说,要在MyBatis+Spring框架中配置日志以显示SQL语句,主要步骤包括:选择并添加日志实现库(如SLF4J和Logback),配置日志级别和输出,设置MyBatis的`logImpl`属性为SLF4J,并确保在Spring配置中正确引用...

    idea插件-mybatis-打印sql

    总之,"MyBatis Log Plugin"是针对IntelliJ IDEA用户的一款实用工具,它极大地简化了MyBatis SQL日志查看的过程,提高了开发效率。结合提供的"步骤1.png"和"步骤2.png",你可以更直观地理解安装和使用方法。对于Java...

    Mybatis Log SQL输出

    Mybatis Log SQL输出是Mybatis框架中用于调试和性能优化的重要功能。它允许开发者查看运行时执行的SQL语句,这对于理解数据访问层的操作、排查问题以及优化查询性能至关重要。在IntelliJ IDEA这个强大的Java集成开发...

    mybatis自动生成

    把 mybatis 输出的sql日志还原成完整的sql语句。 将日志输出的sql语句中的问号 ? 替换成真正的参数值。 通过 "Tools -&gt; MyBatis Log Plugin" 菜单或快捷键 "Ctrl+Shift+Alt+O" 启用。 点击窗口左边的 "Filter" ...

    idea插件mybaits log 打印sql语句

    标签 "idea Mybatis Log sql语句" 明确指出了插件与IntelliJ IDEA、MyBatis以及SQL日志打印有关。MyBatis是一个流行的Java持久层框架,它简化了数据库操作,而这个插件则增强了MyBatis的调试能力,尤其是在处理复杂...

    springboot+mybatis配置控制台打印sql日志的方法

    在Spring Boot集成MyBatis的项目中,有时候我们需要在控制台打印SQL日志,以便于调试和优化数据库操作。本文将详细介绍如何配置Spring Boot和MyBatis以实现控制台打印SQL日志的功能。 首先,Spring Boot默认使用的...

    mybatisx,一款打印项目sql在日志中的插件

    1. **SQL日志打印**:插件会在日志中详细输出每个SQL语句,包括原始的SQL模板、实际的参数值以及执行后的结果,这对于理解代码与数据库交互的情况非常有帮助。 2. **执行时间统计**:MybatisX还提供了SQL执行时间的...

    mybatis打印出sql

    现在,当运行你的应用时,所有MyBatis执行的SQL语句都将被输出到控制台或指定的日志文件中,这将帮助你调试和优化数据库查询性能。 总结一下,要使MyBatis打印SQL,你需要: 1. 引入Log4j库(如`log4j-1.2.16.jar`...

    # MybatisLog sql日志 Free-Mybatis 插件

    MybatisLog是一款针对Mybatis框架的日志插件,Free-Mybatis则是它的扩展,两者结合为开发者提供了强大的SQL日志追踪功能。在开发过程中,理解并优化SQL查询是提升应用程序性能的关键步骤,而MybatisLog与Free-...

Global site tag (gtag.js) - Google Analytics