mybatis初步之----日志记录

1、mybatis日志优先级

  • SLF4J

  • Apache Commons Logging

  • Log4j 2

  • Log4j

  • JDK logging

指定某种日志(相应日志实现必须存在,启动时调用,未测试)

org.apache.ibatis.logging.LogFactory.useSlf4jLogging();

org.apache.ibatis.logging.LogFactory.useLog4JLogging();

org.apache.ibatis.logging.LogFactory.useJdkLogging();

org.apache.ibatis.logging.LogFactory.useCommonsLogging();

org.apache.ibatis.logging.LogFactory.useStdOutLogging();

2、对于xml配置的sql语句输出(只使用log4j,测试可以使用)

<mapper namespace="sysBackTask">
    <select id="selectSysBackTask" parameterType="int" resultType="SysBackTask" >
        select * from sys_back_task where id = #{id}
    </select>

</mapper>

配置为:

log4j.logger.org.mybatis=DEBUG
log4j.logger.org.mybatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.org.mybatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.sysBackTask=TRACE
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

注意log4j.logger.sysBackTask=TRACE,中sysBackTask为相应的namespace

3、对于注解方式的sql语句(未测试)

package org.mybatis.example;
public interface BlogMapper {
 @Select("SELECT * FROM blog WHERE id = #{id}")
 Blog selectBlog(int id);
}

将log4j.logger.sysBackTask=TRACE变为log4j.logger.org.mybatis.example.BlogMapper=TRACE

或使用接口log4j.logger.org.mybatis.example=TRACE




你可能感兴趣的:(mybatis初步之----日志记录)