Java:使用spring-boot + mybatis如何打印SQL日志?
1、pom.xml引入mybatis-spring-boot
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.4</version>
</dependency>2、application.yaml添加log实现
mybatis:configuration:logImpl: org.apache.ibatis.logging.slf4j.Slf4jImpl除了slf4j外还有其它的日志库可以用,支持的日志库可以在org.apache.ibatis.logging下找到。
3、logback.xml添加appender
<logger name="com.example.dao" level="debug" additivity="false"><appender-ref ref="fileAppender" />
</logger>如果底层使用的是logback,则需要添加以上配置。
其中com.example.dao是*.mapper.xml文件中namespace的前缀。这样mapper文件中namespace凡是以com.example.dao开头的,都会转出到文件中。
*.mapper.xml文件举例如下:
<mapper namespace="com.example.dao.apiDao"><select id="queryList" resultType="...">select * from api_info</select></mapper>每个SQL都会生成一个StatementLog,它是在org.apache.ibatis.mapping.MappedStatement中创建的。
4、输出的结果
==> Preparing: select * from api_info
==> Parameters:
<== Total: 10