mybatis打印sql 转
我们在使用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 转的更多相关文章
- mybatis 打印sql 语句
		
拦截器 package com.cares.asis.mybatis.interceptor; import java.text.DateFormat; import java.util.Date; ...
 - mybatis 打印sql log配置
		
mybatis 打印sql log, 方便调试.如何配置呢? log4j.xml : <!-- 打印sql start --> <appender name="IBatis ...
 - 【spring boot】【mybatis】spring boot中mybatis打印sql语句
		
spring boot中mybatis打印sql语句,怎么打印出来?[参考:https://www.cnblogs.com/sxdcgaq8080/p/9100178.html] 在applicati ...
 - 【记录】spring/springboot 配置mybatis打印sql
		
======================springboot mybatis 打印sql========================================== 方式 一: ##### ...
 - mybatis 打印 sql
		
该文中使用的log框架为logback myBatis3.0.6左右的版本时 打印sql的时候只需要配置如下属性: <logger name="java.sql.Connection& ...
 - (后端)SpringBoot中Mybatis打印sql(转)
		
原文地址:https://www.cnblogs.com/expiator/p/8664977.html 如果使用的是application.properties文件,加入如下配置: logging. ...
 - SpringBoot中Mybatis打印sql
		
原文:https://www.cnblogs.com/expiator/p/8664977.html 如果使用的是application.properties文件,加入如下配置: logging.le ...
 - mybatis 打印SQL
		
如果使用的是application.properties文件,加入如下配置: #打印SQL logging.level.com.jn.ssr.supererscuereporting.dao=debu ...
 - logback mybatis 打印sql语句
		
logbac.xml 文件的基础配置参考的园友的 http://www.cnblogs.com/yuanermen/archive/2012/02/13/2349609.html 然后hibernat ...
 - Mybatis打印SQL
		
配置mybatis日志级别,打印SQL 1.方案一:配置日志级别 logging.level.org.springboot.demo.mapper=debug 其中org.springboot.dem ...
 
随机推荐
- spark中各窗口函数对于窗口的要求
			
窗口参数: class WindowSpec private[sql]( partitionSpec: Seq[Expression], orderSpec: Seq[SortOrder], fram ...
 - Linux内核驱动:cdev、misc以及device三者之间的联系和区别
			
Linux内核驱动:cdev.misc以及device三者之间的联系和区别 背景 我想在cdev中使用dev_err等log打印函数,但是跟踪了一下cdev中的原型,发现并不是我想要的. 常见的驱动是 ...
 - Linux 内核:I2C子系统分析(0)整体框架介绍
			
--- title: Linux I2C子系统分析:1-整体框架介绍 EntryName: linux-subsystem-i2c-0-about date: 2020-10-13 04:19:26 ...
 - AM62x GPMC并口如何实现“小数据-低时延,大数据-高带宽”—ARM+FPGA低成本通信方案
			
GPMC并口简介 GPMC(General Purpose Memory Controller)是TI处理器特有的通用存储器控制器接口,支持8/16bit数据位宽,支持128MB访问空间,最高时钟速率 ...
 - Error: Dynamic require of "path" is not supported
			
failed to load config from D:\BaiduSyncdisk\vue3\sys-manager\vite.config.jserror when starting dev s ...
 - [oeasy]python0124_Code_page_437_IBM_5150_点阵式字形码_显示器效果
			
字符显示器 回忆上次内容 简体和繁体的汉字 字符数量都超级大 感谢王选和陈堃銶等前辈发明了激光照排技术 中文排版从此使用上了gb2312编码  添加图片注释,不超过 140 字(可选) ...
 - 重磅消息:微软发布多平台应用UI框架 MAUI,网友直呼:牛x
			
本文内容来自微软开发博客:https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/ 转载请注明来源,公众 ...
 - C# 自定义泛型二维数组
			
public class Array2D<T>{ public int Width { get; } public int Height { get; } public T[] Data ...
 - TIER 1: Responder
			
TIER 1: Responder Active Directory Active Directory(AD)是由微软开发的目录服务,用于在网络环境中管理和组织用户.计算机.应用程序和其他资源.它是 ...
 - Pandas库学习笔记(6) -- Pandas 基本方法
			
Pandas 基本方法实例 到目前为止,我们了解了三个Pandas DataStructures以及如何创建它们.由于它在实时数据处理中的重要性,因此我们将主要关注DataFrame对象,并讨论其他一 ...