IDEA插件:Mybatis Log Plugin插件
问题:最近在做一个springboot项目,想要打印sql语句,但是mybatis的sql语句是语句和参数分离,如果参数太多,使用起来不是特别方便,编程人员在调试sql的时候也不是很方便。因为太烂,不想重写mybatis的sql打印类,就直接使用了这个插件,还是不错的,所以推荐以下。
好,接下来直接讲解步骤:
1.打开idea后,使用Ctrl+Alt+S打开软件设置,找到Plugins标签并进入

2.按照图片顺序,安装Mybatis Log Plugin插件
3.安装完成后,点击restart重启idea并展示插件

4.注意,不要忘记在application.yml或者application.properties文件中打开日志。我的项目目录是wuxl.study.webservice.dao.所以在level之下的目录结构就如图展示,dao目录是存放mybatis的接口文件的目录。

5.最终我们可以看见结果如下
项目启动的的console中打印的日志如下
2020-08-15 18:49:41.873 DEBUG 15404 --- [nio-8080-exec-1] w.s.w.d.L.insertSelective : ==> Preparing: insert into log_userlogin ( USERID, BROWERINFO, IPv4, LOGTIME ) values ( ?, ?, ?, ? )
2020-08-15 18:49:41.874 DEBUG 15404 --- [nio-8080-exec-1] w.s.w.d.L.insertSelective : ==> Parameters: JxLHFcs6GxKVbtkGWlfo(String), {"browerName":"未知","Version":"未知"}(String), 127.0.0.1(String), 2020-08-15 18:49:41.835(Timestamp)
2020-08-15 18:49:41.880 DEBUG 15404 --- [nio-8080-exec-1] w.s.w.d.L.insertSelective : <== Updates: 1

而在mybatis log plugin中显示的sql语句是这样的
-- 7 2020-08-15 18:49:41.874 DEBUG 15404 --- [nio-8080-exec-1] w.s.w.d.L.insertSelective : ==>
insert into log_userlogin ( USERID, BROWERINFO, IPv4, LOGTIME ) values ( 'JxLHFcs6GxKVbtkGWlfo', '{"browerName":"未知","Version":"未知"}', '127.0.0.1', '2020-08-15 18:49:41.835' );
-- ---------------------------------------------------------------------------------------------------------------------

比较一下我们可以看到,mybatis log plugin打印的sql很完整的, 而且绿色的文字对应了是什么时候什么接口执行了这个sql操作,对于sql的调试非常有用。
本文介绍了如何在Springboot项目中利用Mybatis Log Plugin插件实现完整SQL的打印。通过在IDEA中安装插件、配置日志,可以清晰地查看到每个接口执行的SQL语句,便于调试。
7808





