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 ...
随机推荐
- itunes同步视频
itunes同步视频不要通过影片同步,而是通过照片同步 如果显示的是iCloud,只需在手机或ipad上,设置里icloud中,包照片的iCloud关掉,然后重连一下就行
- C++面向对象多级菜单向Arduino的移植
前段时间写了一篇文章<C++面向对象语言自制多级菜单>,文中指出了可以将HeleMenu库进行移植,现已完成技术思路,特此记录. 一.特性 基本与上一篇文章指出的一致,只是将菜单显示和响应 ...
- Linux 内核:设备驱动模型(3)class与device
Linux 内核:设备驱动模型(3)class与device 背景 前面我们知道了设备如何通过总线与驱动匹配,也了解了设备插拔时与用户空间是如何通过uevent基于环境变量进行交互的. 前面看过了设备 ...
- Linux设备模型:4、sysfs
作者:wowo 发布于:2014-3-14 18:31 分类:统一设备模型 http://www.wowotech.net/device_model/dm_sysfs.html 前言 sysfs是一个 ...
- [UG 二次开发 python ] 截图,并用 opencv 显示出来
需要 numpy,cv2 截图,去除背景,只显示主要部分 # nx: threaded from typing import Dict import NXOpen import numpy as np ...
- unity中Shader实现地形中根据实际高度绘制等高线,剖切功能,颜色渐变等功能
问题背景 在做地形模块时,需要根据实际地形高度画出世界相应的等高线,以及根据高度做颜色渐变,以及剖切功能. 解决方法 通过像素点在世界坐标系下的真实高度值来判断计算绘制等高线,剖切功能以及颜色渐变均有 ...
- 常回家看看之off_by_null(堆篇)
上次介绍了堆里面的off_by_one,那么这个off_by_null和它有神马区别呢,哎,别看名字挺像,它俩无论是在栈里面还是堆里面都有很大区别的. off_by_one,这个我们知道可以通过溢出控 ...
- Nginx负载配置
目录 Nginx 负载均衡笔记 1. 概述 1.1 Nginx 简介 1.2 负载均衡概述 2. 四层负载均衡(传输层) 2.1 工作原理 2.2 特点 2.3 优缺点 优点 缺点 2.4 示例场景 ...
- ScreenToGif:一款开源免费且好用的录屏转Gif软件
ScreenToGif介绍 GitHub上的介绍:此工具允许您记录屏幕的选定区域.来自网络摄像头的实时提要或来自草图板的实时绘图.之后,您可以编辑动画并将其保存为 gif.apng.视频.psd 或 ...
- Known框架实战演练——进销存系统需求
概述 该项目是一个开源.简易.轻量级的进销存管理系统,作为Known框架的实战演练项目. 项目代码:JxcLite 开源地址: https://gitee.com/known/JxcLite 功能模块 ...