问题集锦:DBType not support : null
很不巧,今天在工作的时候有一位同事又遇到了这种问题,好熟悉的问题。
在几天前做项目的时候就发现了这种问题,但是忘了怎么解决,今天又遇见了,那就好好来分析一下这是怎么回事。
环境说明
数据库:mysql
操作工具:mybatis,mybatis-plus,druid,P6Spy
问题查找
从错误直观分析是显示数据库类型不支持,为null,那为什么以前没用P6Spy不会出现这种情况,初步判断是P6Spy进行代理的时候出了问题,接着看错误代码显示是WallFilter出现了问题,那这个时候就好找了,直接进入到该类里面,发现以下代码
else if (rawUrl.startsWith("jdbc:mysql:") || rawUrl.startsWith("jdbc:cobar:")
|| rawUrl.startsWith("jdbc:log4jdbc:mysql:")) {
return MYSQL;
问题的根据找到了,druid从url的前缀获取dbType,但是我们现在的url变成了这样子,咱们的前缀被我们采用P6Spy进行了代理,所以获取不到了
问题解决
既然是WallFilter出现了问题,那我们直接解决掉这个WallFilter即可
替换前:
filter-class-names:stat,slf4j,wall
替换后:
filter-class-names:stat,slf4j
--END--
作者:@互联网应用架构
原创作品,抄袭必究
如需要源码,转发,关注后私信我
部分图片或代码来源网络,如侵权请联系删除,谢谢!
版权声明: 本文为 InfoQ 作者【互联网应用架构】的原创文章。
原文链接:【http://xie.infoq.cn/article/85efd86a19e013ff42dbe363e】。文章转载请联系作者。
评论