欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mybatis日志打印sql语句 博客分类: mybatis学习 mybatis日志 

程序员文章站 2024-03-17 23:58:52
...

        mybatis打印出sql语句可以很方便我们调试程序。现在介绍两种常用的简单的配置方案,第一种方案是配置log4j日志框架,第二种方案是采用slf4j日志框架。这两种方案存在着联系,第二种方案要依赖第一种方案即slf4j要通过log4j来输出日志信息打印sql语句。

        安装log4j,要将log4j.jar添加到build path

        配置log4j日志属性文件,这里采用了log4j1.x方式配置lo4j.properties文件

#将Mybatis log4j运行级别调到DEBUG可以在控制台打印出Mybatis运行的sql语句
log4j.rootLogger=DEBUG,Console
### 把日志信息输出到控制台 ###
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=%d{yyyy-MM-dd-HH\:mm\:ss,SSS} [%t]  [%c] [%p] - %m%n 

#要和mybatis的Mapper.xml文件namespace保持一致
log4j.logger.org.lian.domain.Group=TRACE
log4j.logger.org.lian.domain.Music=TRACE

        配置mybatis-config.xml主配置文件,配置日志的log4j的实现

<settings>
      <!-- 配置开启日志 Log4j -->
     <setting name="logImpl" value="LOG4J"/>
</settings>

       配置Mapper.xml映射文件,以GroupMapper.xml文件为例 namespace要和log4j中保持一致

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  
<mapper namespace="org.lian.domain.Group">
	
	<resultMap id="groupResult" type="Group">
		<id property="groupId" column="group_id"/>
		<result property="groupName" column="group_name"/>
	</resultMap>
	
	<!-- <select id="selectGroup" parameterType="String" resultType="Group">
		select group_id ,group_name from t_group  where group_id = #{group_id}
	</select> -->
	
	<select id="selectGroup" parameterType="String" resultMap="groupResult">
		select group_id ,group_name from t_group  where group_id = #{group_id}
	</select>
</mapper>

        除了上面的方案还有一种方案,我们修改一下mybatis-config.xml主配置

<settings>
      <setting name="logImpl" value="SLF4J"/>
</settings>

         上面的其他配置都不用修改,只需要安装slf4j日志组件,将slf4j.api.jar 和 slf4j-log4j12.jar添加包build path,同时要保留log4j.jar。

           log4j.properties配置文件中具体的mapper.xml配置也可以不用配置,这样默认打印SQL是DEBUG级别,而且没有详尽的返回结果,如果要查看详尽的信息就要配置成 TRACE 

log4j.logger.org.lian.domain.Group=DEBUG  
log4j.logger.org.lian.domain.Music=DEBUG

 上面的配置和省略不写,同样也看到日志信息。

相关标签: mybatis 日志