在Spring Boot集成Mybatis的项目中,如果出现SQL语句执行问题,此时就需要打印对应的SQL语句,那么该如何操作才能正常打印出对应的SQL语句呢?
在application.properties
或application.yml
文件中配置对应mapper
所在包的日志级别即可。示例如下:
logging:
level:
com:
company:
project:
mapper: error
其中logging.level.
为前缀,com.company.project.mapper
为Mapper
接口所在的包路径。对应的value
值为日志的级别。当然可以更加详细:
logging:
level:
com:
company:
project:
mapper: error
service:
impl:
DivisionServiceImpl: error
controller:
DivisionController: error
执行查询时,我们将在控制台更到更加详细的日志:
...
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@43f188e9] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [com.company.project.mapper.DivisionMapper]: 0.25
JDBC Connection [HikariProxyConnection@1295412967 wrapping com.mysql.cj.jdbc.ConnectionImpl@53918424] will not be managed by Spring
==> Preparing: SELECT * FROM division where id IS NOT NULL and level_type = ? LIMIT ? , ?
==> Parameters: 1(Short), 20(Integer), 10(Integer)
...