赞
踩
Mybatis-plus 需要通过下面的方式开启控制台 SQL 日志打印
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
对于 application.properties 文件,可以通过下面的方式关闭:
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
在生产环境,不想打印 SQL 日志,可以通过下面的配置关闭。
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
对于 application.properties 文件
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.nologging.NoLoggingImpl
有时候,这个 log-impl
的值是通过外界传入的,通过配置的形式控制 SQL 打印效果,则可以:
mybatis-plus:
configuration:
log-impl: ${mybatis-plus-log-impl}
${mybatis-plus-log-impl}
不同的值就能实现。
mybatis-plus 目前有如下的日志实现:
有这么多实现,运行的时候采用哪个呢:
static {
tryImplementation(LogFactory::useSlf4jLogging);
tryImplementation(LogFactory::useCommonsLogging);
tryImplementation(LogFactory::useLog4J2Logging);
tryImplementation(LogFactory::useLog4JLogging);
tryImplementation(LogFactory::useJdkLogging);
tryImplementation(LogFactory::useNoLogging);
}
mybatis-plus 有个 LogFactory
的日志工厂来处理这件事,实际上执行的时候,它会使用最先找到的,如果一个都未找到,日志功能就会被禁用。
在项目启动时,会在控制台直接打印如下提示:
Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter.
虽然 mybatis 已经提供了非常多的日志实现,但是还是留了口子给需要自定义的使用者。
在 LogFactory 中,有一行:
useCustomLogging(Class<? extends Log> clazz)
也就是说,我们可以通过自己实现 Log 接口来扩展自己日志输出。
如果使用 IDEA 开发程序,使用mybatis 时,建议安装 Mybatis Log
插件,该插件可以方便地查看执行的SQL语句,并且将控制台输出的 SQL 中 ? 部分替换成真实运行时的值,便于直接复制到 Navicat 等工具中直接执行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。