ssm框架中mysql语句_ssm框架中,mybatis的sql语句日志输出

在ssm框架中,常用的日志输出为Log4j,但按照常规的配置,涉及mybatis那部分日志不能打印出来的;由于没有日志的输出,开发人员很难从控制台中迅速找出相应的sql语句,对调试和找错误带来了一定的困扰,针对这个问题,我们需要额外的配置以达到日志的输出

常见的两种方法为:

在日志配置文件(log4j.properties)中增加将mybatis那部分日志级别设置为DEBUG,配置如下:

#mybatis部分

log4j.logger.com.ibatis=DEBUG

log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG

log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG

log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG

#与sql相关

log4j.logger.java.sql.Connection=DEBUG

log4j.logger.java.sql.Statement=DEBUG

log4j.logger.java.sql.PreparedStatement=DEBUG

注意:另外需要在定义LOG输出级别时,把DEBUG级别的也作为日志输出的一部分,附个人完整Log4j配置:

#定义LOG输出级别

log4j.rootLogger=DEBUG,INFO,Console,File

#定义日志输出目的地为控制台

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.Target=System.out

#可以灵活地指定日志输出格式,下面一行是指定具体的格式

log4j.appender.Console.layout = org.apache.log4j.PatternLayout

log4j.appender.Console.layout.ConversionPattern = [%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m %l%n

#文件大小到达指定尺寸的时候产生一个新的文件

log4j.appender.File = org.apache.log4j.RollingFileAppender

#指定输出目录

log4j.appender.File.File = logs/ssm.log

#定义文件最大大小

log4j.appender.File.MaxFileSize = 10MB

#输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志

log4j.appender.File.Threshold = ALL

log4j.appender.File.layout = org.apache.log4j.PatternLayout

log4j.appender.File.layout.ConversionPattern = [%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m %l%n

#mybatis日志配置 需要将日志的输出级别调为debug

log4j.logger.com.ibatis=DEBUG

log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG

log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG

log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG

#与sql相关

log4j.logger.java.sql.Connection=DEBUG

log4j.logger.java.sql.Statement=DEBUG

log4j.logger.java.sql.PreparedStatement=DEBUG

配置根Logger,log4j.rootLogger = [ level ] , appenderName

【level】是日志的级别,分别有debug -> info -> warn -> error 四种日志级别;

【appenderName】,配置日志的输出目录,同一个日志可以配置多个输出目的地;

配置log输出目的地:

org.apache.log4j.ConsoleAppender(控制台)

org.apache.log4j.FileAppender(文件)

org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)

org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)

org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

2、在Mybatis的配置文件中增加setting配置

个人在搭ssm框架中,mybatis-config.xml文件是省略的,需要后面增加,详细如下:

/p>

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

日志部分,增加name为logImpl的setting配置,value属性(即日志的打印方式)可选有:SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING,可以根据自己的需要进行配置,但个人在测试的过程中,只有值为STDOUT_LOGGING时,日志才有输出,此处存在疑问,有哪位大神能指点一下么?

另外settings的更多参数可以参考官网文档:

http://www.mybatis.org/mybatis-3/zh/configuration.html#settings

注意:在增加mybatis-config.xml后,需要在spring与mybatis的整合配置文件(spring-mybatis.xml)中增加映射才可生效,如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值