关于mybatis sql日志输出的
来源:互联网 发布:怎么查看淘宝客pid 编辑:程序博客网 时间:2024/06/07 09:23
对于mybatis我们有时候需要调试或者查看问题时,我们需要打印出执行的sql,那么问题来了,mybatis如何输出sql日志,首先我们可以给SQLMapConfig.xml文件中configuration加入
<settings>
<setting name="logImpl" value="你想要的日志输出"/></settings>
其中这个你想要的日志有这些选项SLF4J、LOG4J、LOG4J2、JDK_LOGGING、COMMONS_LOGGING、STDOUT_LOGGING、NO_LOGGING ,如果是没有特殊需要,直接配置为STDOUT_LOGGING,这样就搞定了,其他的比如LOG4J要有log4j.properties这个文件,这个文件中通过配置可以实现sql的选择输出,如果是LOG4J2这个配置,那么日志的输出规则则是按log4j2.xml这个文件的配置来输出。基本上始于日志的配置文件对应的。有哪些?这个我们可以看mybatis.jar中org.apache.ibatis.logging包下就可以看到一些系统给的配置的实现了,你要是想自我定制可以参考mybatis.jar下org.apache.ibatis.logging.log4j包下的Log4jImpl的实现,实现org.apache.ibatis.logging.Log接口就好了,那么那个logImpl的value为你自定义的log的类的路径(如com.ha.logger)这样就搞定了。解决了我看了一两个小时的sql日志问题了。备注(如果想要只输出某个方法的sql,在log4j中配置如下log4j.logger.org.mybatis.example.UserMapper.selectUser=TRACE ,是这个TRACE这个可以控制的,可能不准确可以用)。
在白天的使用中,我发现了一个问题,就是如果log4j2配置日志时,如果配置的包路径中包含mapper接口,那么这个不受additivity这个参数的影响,也就是说additivity无论设置为true 还是false都会输出sql,所以mapper接口的日志要细配到mapper的包或者类甚至是方法。
- 关于mybatis sql日志输出的
- 配置mybatis的输出日志
- mybatis sql日志无法输出问题
- spring boot日志配置+mybatis输出SQL
- 关于mybatis无法输出sql语句的问题
- mybatis拦截sql,日志输出sql详情及其执行时间
- mybatis拦截器的使用(输出日志或sql语句)
- Mybatis 的Log4j日志输出问题
- log4j.xl -mybatis的日志输出
- 使用MyBatis和logBack时在日志中输出sql
- mybatis日志输出
- MyBatis输出日志
- log4j myBatis 的sql输出配置
- mybatis将执行的sql语句输出
- Mybatis Sql日志打印
- mybatis打印sql日志
- mybatis打印sql日志
- 关于Logger日志的控制台输出问题
- python 装饰器
- 深入CSS声明(一) —— Background
- http的无状态无连接到底是什么含义
- Android界面编程之利用单选框和复选框实现对学历和爱好进行选择
- 【DP】 Mahmoud and a Message
- 关于mybatis sql日志输出的
- Bootstrap-图标菜单和按钮组件
- astyle批量优化代码风格
- 通过JDBC连接SQL Server
- 多线程二
- 拷贝构造函数的调用
- Bootstrap-导航栏组件
- Java设计模式之解释器模式
- 算法的一些小栗子6(递归算法)