在Spring Boot集成Mybatis的项目中,如果出现SQL语句执行问题,我们需要进行排查。此时就需要打印对应的SQL语句,那么该如何操作才能正常打印出对应的SQL语句呢?
其实操作非常简单,在application.properties或application.yml文件中配置对应mapper所在包的日志级别即可。
示例如下:
logging.level.com.secbro.mapper=debug
1
其中“logging.level.”为前缀,“com.secbro.mapper”为Mapper接口所在的包路径。对应的value值为日志的级别。
此时,再执行查询程序,就会打印出对应的SQL日志信息来。
对应的Mapper文件比如:
package com.secbro.mapper; import com.secbro.model.Order; import org.apache.ibatis.annotations.*; import java.util.List; /** * @author sec * @version 1.0 * @date 2020/3/1 10:01 AM **/ public interface OrderMapper { /** * 更新订单 * * @param order 订单信息 * @return 记录数 */ @Update("UPDATE tb_order SET order_no = #{orderNo},amount = #{amount} WHERE id =#{id}") int update(Order order); }
注意package的路径对照。
添加debug打印之后,执行一条单元测试,对应的日志信息如下:
其中,我们可以很清楚的看到对应的SQL语句,参数以及执行结果。