我们在使用mybatis开发过程中,经常需要打印sql以及输入输出,下面说一下mybatis结合log4j打印sql的。
1、添加mybatis配置
mybatis的日志打印方式比较多,SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING,可以根据自己的需要进行配置。
建议在mybatis.xml中添加如下配置,因为有些web容器(websphere、jboss等)中自带私有日志,如果我们不配置mybatis默认会使用容器私有日志组件,而不是使用log4j
<settings> <setting name="logImpl" value="LOG4J"/> </settings>
2、log4j.xml配置
mybatis日志打印sql,由于我们用的是mybatis3.3,高于mybatis3.2
所以如果需要打印查询sql、参数和结果,则配置如下:
<logger name="com.example.mapper" additivity="false"> <level value="DEBUG" /> <appender-ref ref="SQL_DEBUG" /> <appender-ref ref="SQL_INFO" /> <appender-ref ref="SQL_ERROR" /> </logger>
其中name中填写的是mapper中的namespace路径:预约模块的都是com.example.mapper
如果mybatis低于3.2则配置才会需要添加下面的配置
<logger name="com.ibatis" additivity="true"> <level value="DEBUG" /> <appender-ref ref="STDOUT" /> <appender-ref ref="DEBUG" /> </logger> <logger name="java.sql" additivity="true"> <level value="DEBUG" /> <appender-ref ref="STDOUT" /> <appender-ref ref="DEBUG" /> </logger>
3、如果需要将sql单独打印,则添加如下配置
<appender name="SQL_DEBUG" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="log/sql/debug.log" /> <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[%-5p] [%d{yyyy-MM-dd HH:mm:ss}] %l - %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMin" value="DEBUG" /> <param name="LevelMax" value="DEBUG" /> </filter> </appender>
4、建议日志additivity属性配置为false,这样可以避免日志重复打印,
当然这也需要看情况,如果需要结合上下文日志来跟踪问题,可以设置为true。
相关推荐
把 mybatis 输出的sql日志还原成完整的sql语句。 将日志输出的sql语句中的问号 ? 替换成真正的参数值。 通过 "Tools -> MyBatis Log Plugin" 菜单或快捷键 "Ctrl+Shift+Alt+O" 启用。 点击窗口左边的 "Filter" ...
mybatis打印SQL的log4j
基于mybatis的慢SQL小插件,原理是mybatis拦截器。只需要在springboot的配置文件做简单的配置,mybatis拦截器将SQL中所有参数自动做了填充。拦截器监控慢SQL并将完整的可执行的SQL语句打印在日志文件中,复制该SQL...
1.log4j配置sql打印 (sql参数?) 2.mybatis拦截器sql打印(sql参数 实参)
Mybatis Log(自动填充sql参数打印到控制台)
用于mybatis打印出sql语句。内含log4j-1.2.16.jar 和 配置好的log4j.properties文件
2021版idea安装MyBatis Log Plugin不可用解决方案,idea安装插件2021idea-mybatis_log_plugin可以打印日志mysql
NULL 博文链接:https://wangxuehui.iteye.com/blog/1636946
mybatis+spring 框架中配置日志中显示sql语句
mybatis SQL日志解析;查看日志时mybatis打印的日志查询条件以及参数不是拼接好的,想复制对应sql在本地执行时比较麻烦,通过前端编写页面进行日志解析,拼接sql中的问号以及参数变课轻松实现
基于springboot开发的简单且实用的仓库系统,拥有复制,导出,打印等多功能。新增几乎都是自动带出,并且还有列点击排序,列随意拖动等实用功能。
主要介绍了springboot+mybatis配置控制台打印sql日志的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
下面小编就为大家带来一篇mybatis 插件: 打印 sql 及其执行时间实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Mybatis日志中的SQL解析工具(网页版) 说明:复制日志时,必须注意,日志必须包含Preparing:和Parameters:全部内容,而且日志换行格式要保留,不要复制成纯文本,直接ctrl+c即可。
idea mybatislog 日志打印 打印完整sql
本人开发人员,平常也是在CSDN下载资料,现在不需要积分的少了,所以我也得赚点积分,绝对提高你的开发效率。eclipse开发java使用mybatis打印不带问号的可执行sql
springboot整合mybatis和logback 动态打印sql日志 不同包下的日志不同文件输出
亲测可用,jar包直接拖到idea窗口即可
mybatis打印日志,后台显示日志信息,直接运行test包下的测试程序,即可在后台查看到日志信息
主要介绍了mybatis-plus配置控制台打印完整带参数SQL语句,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧