配置 mybatis 打印出执行的 sql 及返回的结果集
在开发过程中, 经常会遇到想要看到应用所执行的 sql 这样的需求. 比如你写了一个查询的功能, 但查询出来的结果与你预期的不符合, 你想搞清楚到底哪里出了问题, 你自然需要看看所执行的 sql 语句, 必要的话甚至还要亲自拷贝到数据库里去查查. 自然, 这就要求应用要能把执行的 sql 输出出来. 以常用的 mybatis 框架为例, 来看一个最终的效果: 14:48 ==> Preparing: select * from user where id = ? 14:48 ==> Parameters: 1(Integer) 14:48 <== Total: 1 另注: 这里的日志布局我启用了一种极简的风格, 只有"分钟:秒数", 具体见 配置简化开发阶段日志输出布局 的介绍. 那么, 在 mybatis 里, 这个要怎么做到呢? 配置 sql 输出 具体来说, 是要增加一个日志级别的配置, 将 dao(或 mapper) 包级别调整到 DEBUG . 示例: # log sql statement logging.level.net.xiaogd.sample.mybatis.dao=DEBUG 注: 上述配置建议放在你的本地开发环境配置文件中, 通常为 application-dev.properties, 关于 spring-boot 的 分环境配置 的 profile