mybatis实现打印sql日志

飞一样的编程
飞一样的编程
擅长邻域:Java,MySQL,Linux,nginx,springboot,mongodb,微信小程序,vue

分类: Java 专栏: 2024年ssm框架 标签: 打印sql日志

2024-09-23 10:28:26 570浏览

打印sql日志

1.准备jar包

需要一个log4j的jar包

image.png

2.修改mybatis核心配置文件mybatis-config.xml

试了下,好像省略不写这个也行,这是因为 MyBatis 有一个自动检测机制,它会尝试检测可用的日志框架,并使用第一个检测到的日志框架。

    <!--打印sql语句-->
    <settings>
        <setting name="logImpl" value="LOG4J"/>
    </settings>

3.写一个log4j的属性文件

注意要会改:log4j.logger.dao层的全包名(sql映射文件)=debug

# 设置根记录器级别为INFO,并且它的唯一附加器为A1。
log4j.rootLogger=info, A1
# 为包"com.jf3q.mybatis.dao"设置记录器级别为DEBUG。
log4j.logger.com.jf3q.mybatis.dao=DEBUG

# A1被设置为控制台附加器。
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1使用PatternLayout布局。
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
# A1的布局转换模式,用于定义日志消息的输出格式。
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

从此以后,只要是Java代码中执行了任何sql语句都会打印到控制台,方便我们排查错误

image.png

特别说明:
如果你觉得麻烦,不想写log4j的属性文件啥的,其实mybatis里有一个非常简单的内置的日志框架

  • STDOUT_LOGGING: 将日志输出到标准输出(控制台),MyBatis内置了这种简单的日志实现。
  <!--打印sql语句-->
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>

这样就可以不用log4j的jar之类的了

好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695