栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

记录学习javaweb精通day06(黑马)的Druid操作数据库时遇到的问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

记录学习javaweb精通day06(黑马)的Druid操作数据库时遇到的问题

前提:mysql的驱动jar包和Druid的jar是对应的,且与我windows上安装的mysql8.0.26是相对应的,

 

过程:

1.最开始报的是nullPointerException异常,

原因:程序找不到Druid的配置文件,因为我把它放在src下,但实际,这个项目我使用了maven来构建,在maven中,classpath的根目录其实是

      resources文件夹,

解决方法:把Druid的配置文件放在resourses目录下,借鉴了以下链接:

我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《关于properties报空指针异常的原因》, 一起来围观吧 https://blog.csdn.net/gsy_csdn1/article/details/115489925?utm_source=app&app_version=5.4.0

2.解决完空指针异常,报出了Access denied foruser 'root'@'localhost'(using password:yes)

解决过程:

1.一直认为是url问题,因为我的url=jdbc:mysql://localhost:3306/itheima,并不是url=jdbc:mysql://localhost:3306/ithiema?useSSLfalse&

serverTimezone=UTC....

这个问题的解决:并不是url的问题,原本的url没有问题

2.后认为是mysql没有开启远程访问权限

解决:在cmd上开启权限,借鉴了以下笔记:

我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《mysql8.0.15用户root登录开启远程访问权限》, 一起来围观吧 https://blog.csdn.net/liliuqing/article/details/88723409?utm_source=app&app_version=5.4.0

其中,我发现我的mysql有2个root用户,一个用户已经开启了远程访问权限,即host为%,但另一个root没有开启,host为localhost。

我把未开启的远程权限的root用户删除了,借鉴了以下笔记:

我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《MySql存在多个root用户.》, 一起来围观吧 https://blog.csdn.net/qq_24571549/article/details/74439474?utm_source=app&app_version=5.4.0

3.最后,通过debug程序发现username=null,即以下

出现这种情况的原因是:我的druid配置文件为name=root,程序识别不出数据库的使用者,

解决方法:name= root改为username=root

借鉴了以下笔记:

我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《java报错:com.alibaba.druid.pool.DruidDataSource.info {dataSource-1} inited》, 一起来围观吧 https://blog.csdn.net/u012660464/article/details/110236485?utm_source=app&app_version=5.4.0

4.当程序成功运行之后,再次运行出现了"Duplicate entry '4' for key 'user.PRIMARY'"

原因:因为我的sql语句为insert into user values(4,'斩杀','234'),即4是user表id的值,id是主键,自动增长的

解决:把4给为user表中id不存在的值,或者把4改为null,让程序自动为这行数据的id赋值

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/933209.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号