谁在跟我说用mysql8.0,小心我的40米大刀

最近由于笔者入职,公司也刚好给我们陪了新电脑,新电脑到的第一件事是啥,相信大家都知道,对于我们程序员,首要的事,肯定是先配置我们相关的编程环境,于是笔者花了一晚上的时间将MySQL,Tomcat,Maven,jdk,git,redis等环境配置好了,然后第二天由于公司的项目是运用的SpringSecurity权限管理技术,之前笔者学习的权限管理框架主要是shiro,这方面并没有接触过,所以只能硬着头皮来啃了。在B站找了相关视频来进行学习,但是就在与数据库交互进行身份验证的过程中,出了一个bug,自此,笔者陷入了深深的自闭之中。

1.首先

笔者想到的第一个问题是不是数据库连接出现了差错,所以我去检查了数据库的相关配置文件,发现的确有问题,因为笔者安装的是mysql8.0.20的版本所以,数据库连接的jar出现了变更,由之前的com.mysql.jdbc.Driver变成了现在的com.mysql.cj.jdbc.Driver这是笔者找的第一个错误。

2.其次

由于Springsecurity是通过自带的类UserDetailsService来实现身份认证的,所以我们就必须要将我们自身的服务即UserService通过继承UserDetailsService并实现其中的类来实现通过我们自身的数据来进行身份验证,于是就开始实现。
在这里插入图片描述
可以看到函数的返回值是UserDetails,所以我们函数的返回类型必须要是该类型,这里笔者最后全是return null,必然是不行的。

3.接着

因为我先实现的是简单的身份验证,还没有考虑到密码要进行加密的处理,而springsecurity本身默认就是进行加密处理,所以显然这里我们就算进行认证也是必定认证不了的,所以我们必须先将加密设置给注销掉,所以就必须要添加这行代码,添加之后Springsecurity就是将我们的密码进行明文比较了。
在这里插入图片描述在笔者检查出上述所有的错误之后本来以为
在这里插入图片描述
小鬼这下你跑不脱了吧,还不快快现行
在这里插入图片描述
结果歇逼了,又歇逼了,界面就一直停在登录界面,打开谷歌的检查界面发现
在这里插入图片描述
返回的请求一直是停在我设置的身份验证失败的页面,之后笔者想会不会还是数据库的数据没读出来啊,于是我就通过打断点的进行来查看我输入的数据以及从数据库中读出来的数据是不是一样的,接下来就是见证奇迹的时刻;
在这里插入图片描述
在这里插入图片描述
两者的数据一模一样,妈的这下彻底崩了,妈的数据一模一样,但就是认证不过去,接下来,笔者从pom.xml文件开始一层一层的检查,发现沃日你大坝,根本一点问题都没有,关键是本身控制台也不报错,就连问题是啥也不知道,就知道只是没验证过去。搞了一天,实在不行,去问了公司的一个大佬,大佬说他也是第一次使用Springsecurity,也不太清楚,于是笔者就感觉更崩了,这可咋整啊,于是半天又过去了。
在这里插入图片描述
最后笔者抱着试一试的态度,想了想反正一定是数据的问题,实在不行就重装了MySQL,但是既然选择重装,就肯定不能再装MySQL8.0.20了,否则肯定问题还是一样的呀,所以笔者选择了安装自己的第一次-------mysql5.7,当笔者安装完之后重新启动项目的时候,发现卧槽槽槽槽槽槽槽槽槽槽槽槽槽槽槽,这玩意儿终于生出来了。
在这里插入图片描述
他妈终于跳出来了,我TM搞了一天这玩意儿终于出来了。
以下仅代表个人观点
最新的并不代表是最好用的,经过时间的考验的才是真的棒的。
之前用mysql8.0的时候就遇到过好多次问题,但是之后基本都能解决,但是这一次是真的难顶,游戏体验是真的差。最后只能选择重装mysql环境来解决,如果有大佬知道解决方案的,也希望能在评论去提出来。最后笔者自己的体验就是MySQL5.7天下第一

猜你喜欢

转载自blog.csdn.net/lovely__RR/article/details/107178995