如何打印SQL语句和口头期间 搭建大型散布式服务 二十一 Mybatis (如何打印sql语句)
本文目录导航:
- 搭建大型散布式服务(二十一)Mybatis 如何打印SQL语句和口头期间?
- 如何在Mybatis中打印SQL语句和口头期间
- 为什么我的mybatis后盾不能打印sql语句
- mybatis怎样输入sql语句
搭建大型散布式服务(二十一)Mybatis 如何打印SQL语句和口头期间?
如何在Mybatis中打印SQL语句和口头期间
在开发环节中,咱们经常须要监控SQL语句和口头耗时来提升性能。
虽然Mybatis自身没有间接提供这些性能,但可以经过特定模式成功。
本文将引见经过编写mybatis阻拦器来成功打印完整SQL和口头期间的方法。
有多种方法可供选用,包含数据库慢查问日志(繁难但受限于权限)、第三方组件如p6spy(性能繁难但或者影响原有性能)、经常使用druid衔接池自带监控(虽繁难但公司或者不介绍)、mybatis阻拦器(通用但需编码,思考性能)以及APM工具(一致跟踪但老本较高)。
本文重点基于前文的名目性能,咱们将经过编写mybatis阻拦器成功SQL语句打印。以下是详细步骤:
2. 开发环境与名目创立请参考系列文章中关系章节创立名目,如《搭建大型散布式服务(五)》、《(六)整合数据库衔接池》和《(十八)自定义名目脚手架》。
3. 修正名目4. 测试修正单元测试并运转,确保性能反常。
5. 论断
经过上述步骤,咱们成功成功了自定义mybatis阻拦器,可以依据需求调整打印战略。
线上环境可以经过性能管理口头期间。
有兴味的可以进一步裁减,如接入告警系统或封装成可重用组件。
更多内容,请等候《搭建大型散布式服务(二十二):Springboot 拓展-定制日志组件》。
为什么我的mybatis后盾不能打印sql语句
名目驳回SpringMVC+Mybatis的架构,日志工具还是最罕用的log4j,整合了其余框架之后,发现不可打印SQL语句,但是名目中的显示调用日志却可以反常打印进去,还有当SQL拼写有失误的时刻会打印进去
而后开局看Mybatis的官网文档,关于日志这一块是怎样处置的
最近Mybatis有中文文档了,虽然不全,不过曾经很好了,这外面发现了名目中存在的疑问。名目中引入了shiro框架,集成了slf4j日志,造成了Mybatis不可援用log4j的性能文件打印SQL语句
疑问要素:这个是Mybatis自动查找日志的顺序,自上而下,也就是说,假设名目中有前面3个日志框架时,关于Mybatis,log4j就不会失效
Apache Commons Logging
JDK logging
处置方法:在MyBatis的性能文件外面减少一项setting来指定log4j
mybatis怎样输入sql语句
#将ibatis log4j运转级别调到DEBUG可以在管理台打印出ibatis运转的sql语句=debug,stdout,logfile### 把日志消息输入到管理台 ###=#==### 把日志消息输入到文件 ###==D:/==%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n###显示SQL语句局部=======DEBUG