使用 MyBatis 和 Spring 在项目中记录 SQL 查询

新手上路,请多包涵

在我的项目中我有

<bean id="ABCSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <property name="dataSource" ref="ABCDataSource" />
  <property name="mapperLocations">
      <list>
        <value>classpath:com/myco/dao/XYZMapper.xml</value>
       </list>
  </property>
<bean>

log4j.logger.java.sql.Connection=debug, stdout, abclog
log4j.logger.java.sql.PreparedStatement=debug, stdout, abclog
log4j.logger.java.sql=debug, stdout, abclog
log4j.logger.org.mybatis=debug, stdout, abclog
log4j.logger.org.apache.ibatis=debug, stdout, abclog

当我在日志中运行应用程序时,我没有看到 SQL 查询 想知道我错过了什么

看到这篇文章 how to configure log4j for Mybatis to print my SQL suggesting to change mybatis class configuration 但不确定如何使用 spring SqlSessionFactoryBean

原文由 Lav 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 513
1 个回答

引用 how to configure logback for Mybatis to print my SQL 的答案,我不确定这是否对你完全有用。它提供用于日志记录的 Spring 配置。这种方法对我有用。

为特定的 mybatis 映射器设置 DEBUG(TRACE 以查看查询参数和结果)级别记录具有完全限定映射器名称的记录器的 SQL 语句

<logger name="com.mycompany.myapp.mapper.MyMapper" level="DEBUG"/>

如果它们在同一个包中,您可以记录来自所有映射器的所有 SQL 语句

<logger name="com.mycompany.myapp.mapper" level="DEBUG"/>

如果问题仍然存在,请试一试。祝你好运!

原文由 Gunith D 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题