问题集锦:DBType not support : null

发布于: 2020 年 09 月 27 日
问题集锦:DBType not support : null



互联网应用架构:专注编程教学,架构,JAVA,Python,微服务,机器学习等领域,欢迎关注,一起学习。



很不巧,今天在工作的时候有一位同事又遇到了这种问题,好熟悉的问题。





在几天前做项目的时候就发现了这种问题,但是忘了怎么解决,今天又遇见了,那就好好来分析一下这是怎么回事。



环境说明

数据库: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进行了代理,所以获取不到了



jdbc:p6spy:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false



问题解决

既然是WallFilter出现了问题,那我们直接解决掉这个WallFilter即可



替换前:filter-class-names:stat,slf4j,wall替换后:filter-class-names:stat,slf4j



--END--



作者:@互联网应用架构



原创作品,抄袭必究



如需要源码,转发,关注后私信我



部分图片或代码来源网络,如侵权请联系删除,谢谢!



发布于: 2020 年 09 月 27 日 阅读数: 14
用户头像

喜欢奋战在一线的架构师 2020.09.21 加入

专注架构,微服务,机器学习,JAVA,Python等领域教程,欢迎关注

评论

发布
暂无评论
问题集锦:DBType not support : null