问题集锦:DBType not support : null

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

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

问题集锦:DBType not support : null

 

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

环境说明

数据库:mysql

操作工具:mybatis,mybatis-plus,druid,P6Spy

问题查找

从错误直观分析是显示数据库类型不支持,为null,那为什么以前没用P6Spy不会出现这种情况,初步判断是P6Spy进行代理的时候出了问题,接着看错误代码显示是WallFilter出现了问题,那这个时候就好找了,直接进入到该类里面,发现以下代码

问题集锦:DBType not support : null

 

问题集锦:DBType not support : null

 

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--

作者:@互联网应用架构

原创作品,抄袭必究

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

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


版权声明:本文为u011818862原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。