【Spring Boot】网页五子棋项目中遇到的困难及解决方法

article/2025/8/15 7:45:34

目录

    • 一、HikariPool-1 - Starting异常
    • 二、Invalid bound statement (not found)异常
    • 三、The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary异常
    • 四、The server time zone value时区报错异常
    • 五、补充知识点:component注入的默认单例

问题现象:数据库连接正常,但是返回数据为空,并出现以下日值,但是多试几次又能查询数据库了,那时候没注意到日志中的没出现sql的查询字段以为是HikariPool-1 - Starting…1搞得鬼就上网去查,发现依然没有结果返回,然后把日志全看了一遍,压根就没有出现数据库连接的字段,我就知道应该是数据库连接出问题了,然后通过test测试数据库连接,结果爆红显示Invalid bound statement (not found)springboot错误,又上网去查,一一对比以后发现我的数据库映射并没有问题,然后提示我文件可能被过滤掉了等一系列问题…

一、HikariPool-1 - Starting异常

问题描述:

服务启动正常,但是使用功能要访问数据库时,控制台出现如下情况,一直 Startingcom.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting…1

问题排查
通过客户端连接数据库,访问正常。

网上搜索说是加个 useSSL=false ,但是还是不行。

url: jdbc:mysql://127.0.0.1:3306/java_gobang?characterEncoding=utf8&useSSL=false

然后也让我学习到了SSL(Secure Sockets Layer),安全套接字协议。在连接Mysql时,
如果MySQL的版本为5.7以上时,必须加上useSSL=false,直接通过用户账号和密码进行连接MySQL数据库;当MySQL的版本是5.7以下则不进行要求,默认使用useSSL=false。

useSSL=false:使用用户账号密码进行连接。

useSSL=true:y一般通过证书或者令牌进行安全验证。
不在yml配置中添加就默认的为true,则无法连接数据库成功。

二、Invalid bound statement (not found)异常

Invalid bound statement (not found)springboot或者Mybatis下找不到的几种情况

相信我们在学习Mybatis的时候都出现过 Invalid bound statement (not found) 这个错误,一般由以下几种可能导致这个错误

  1. 一:mapper方法名 和 mapper.xml id名不对应

在这里插入图片描述

  1. 二、 mapper.xml的namespace是不是写错了

这里的 namespace要写所需实现的接口的全限定性类名
在这里插入图片描述

  1. 三、是不是xml文件没有编译

打开target看看有没有xml文件在里面

没有的话就需要在pom.xml里面配置一下resource

在这里插入图片描述

<resources><resource><directory>src/main/java</directory><includes><include>**\/*.xml</include></includes><filtering>true</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**\/*.*</include></includes><filtering>true</filtering></resource>
</resources>
  1. 四、是不是resources的路径问题

主要,如果想吧mapper.xml文件写在resources下的话,新建的包要用 “ / ” 分开 而不是用 “ . ”

如:com/zhp/mapper 这个是正确的 com.zhp.mapper是错误的,查看一下包名对不对:

一定得是这样的嵌套的,以下是错误示例:(创建时候用错误的用 . 而不是 / )

还有,这个resources里的这个mapper包一定和src一样,以免出现不必要的错误

在这里插入图片描述

三、The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary异常

报错信息

Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

在这里插入图片描述

问题原因
升级后的mysql驱动类,Driver位置由com.mysql.jdbc.Driver 变为com.mysql.cj.jdbc.Driver

后来又查了一下这两个的区别,前者是jdbc连接mysql数据库的时候,如果连接mysql-connector-java 5使用的driver是com.mysql.jdbc.Driver,连接mysql-connector-java 6 以上使用的是com.mysql.cj.jdbc.Driver,然后看了之前的旧代码,新旧代码用的都是带cj的,但是不同的旧代码中的mysql-connector-java 依赖是8版本,然而新拉的项目分支中的是5版本,这样一下子就豁然开通了

解决方法:
只需要将applicaton.yml配置文件中 的com.mysql.jdbc.Driver改为com.mysql.cj.jdbc.Driver即可

四、The server time zone value时区报错异常

控制台报错信息:
java.sql.SQLException: The server time zone value ‘�й���׼ʱ��’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time

时区报错,主要是两地时间不一样,我们在东八区

解决方法:

 url: jdbc:mysql://127.0.0.1:3306/java_gobangcharacterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8

五、补充知识点:component注入的默认单例

在这里插入图片描述

在这里插入图片描述

因为我在model类中想要自动注入其他包的类以及ObjectMapper类,然后就把model的这个实体类给注入到了spring当中,在运行程序时报错异常,然后一直在方法逻辑内找,是不是那个类在前后端交互时没有初始化或者传参,捋了一遍逻辑发现并没有问题,然后上网说是注入的问题,我又开始深挖Spring注入的相关内容,最后学习到了,model类一般用于类的构建,应该是多列模式的,使用Component注入之后,spring 默认注入对象为单例的,在我们进行拿去时就会出现报错NullPointerException
空指针异常总结:
如果想要在实体类(model类不能使用component)中使用Spring的注入方法,有两种解决方法

通过手动获取bean创建出来实例
在这里插入图片描述

然后对于想要注入的对象,首先从Spring启动类中拿到Spring 的上下文,我这里定义的是context,然后通过获取Bean的方式来进行创建我们想要的对象类。

在这里插入图片描述


http://www.hkcw.cn/article/CWRrQgvfCQ.shtml

相关文章

上海启动3-6岁儿童近视监测 推进视力健康关口前移

6月1日,第30个全国“爱眼日”上海市儿童青少年眼健康主题活动发布了上海市儿童青少年近视率最新监测情况。2024年上海市6-18岁儿童青少年近视率比2023年下降1.5个百分点。为推进近视预防关口前移,上海市眼病防治中心启动了“低龄儿童近视监测与干预服务项目”,聚焦3-6岁近视…

郑钦文首次晋级法网8强 刷新个人最佳战绩

北京时间6月1日晚,在法网女单1/8决赛中,8号种子郑钦文以7-6(5)、1-6、6-3战胜19号种子俄罗斯选手萨姆索诺娃,职业生涯首次跻身法网女单八强,刷新个人赛会最佳战绩。这也是中国选手时隔14年再次闯进法网八强。首盘比赛中,郑钦文两次先被破发但迅速回破,双方战至抢七。最终…

新势力5月销量榜解读 零跑三连冠

零跑汽车再次夺得新势力月销量冠军。6月1日,各大造车新势力发布了5月份的交付数据。零跑汽车连续三个月稳居榜首,鸿蒙智行和理想汽车分别位列第二、第三,销量均重回4万辆。整体来看,5月车市进一步回暖,尤其是极氪获得了最高的环比增速,达37.74%。5月,零跑汽车全系交付再…

江苏城市联赛:南通队4-0客胜泰州队 多点开花完胜对手

北京时间6月1日,江苏城市联赛第3轮比赛中,泰州队主场迎战南通队。下半场,郭凯楠单刀过掉门将后推射破门,为南通队首开纪录。随后张浩楠边路超车后传球,文俊秀破门扩大比分。接着程鑫门前补射得手,进一步巩固了南通队的领先优势。比赛尾声,李贤成过掉对手后单刀推射再下一…

当地回应上海迪士尼游客扭打 因拍照起冲突

5月31日,有网友发布视频称,在上海迪士尼发生了一起情侣和一家三口之间的冲突事件,引发了广泛关注。视频中可以看到双方在现场扭打,周围的人纷纷上前劝阻。据了解,该事件发生在5月31日,地点并非排队区域,而是游客自由打卡拍照的地方。情侣和一家三口因拍照问题产生了争执…

上海迪士尼有游客打架 警方通报 因拍照引发冲突

近日,一段上海迪士尼度假区内情侣与带孩子的夫妇发生争执的视频引起了网友们的广泛关注。根据浦东公安分局的通报,5月31日傍晚6点左右,警方接到报警称迪士尼乐园内有人打架。经初步调查,事件起因是22岁的闫某某与女友在拍照时,36岁的刘某某夫妻的女儿进入了拍摄画面,双方…

生涯首次!郑钦文晋级法网8强 三盘激战创佳绩

北京时间6月1日晚,法网女单第四轮较量中,中国选手郑钦文与俄罗斯选手萨姆索诺娃展开激烈对决。经过三盘大战,郑钦文以2比1胜出,成功晋级八强,创造了个人在法网的最佳战绩。郑钦文和萨姆索诺娃此前曾交手5次,郑钦文以2胜3负略处下风。不过,在红土场上两人唯一的一次交手中…

苏超为何“比赛第一友谊第十四” 城市荣耀与纯粹竞技

足球世界中,许多充满底蕴比拼与恩怨情仇的高手对决,被冠以“德比”之名享誉全球。例如意大利米兰德比、西班牙国家德比、英格兰曼彻斯特德比以及阿根廷河床和博卡青年超级德比等,无不令球迷激动不已,话题度极高。然而在2025年初夏,首届江苏城市足球联赛舞台上,“十三太保…

百名“奇迹宝宝”庆六一 抗癌妈妈的希望之光

“我想当航天员,飞向太空。”“我想当白衣天使,治愈患者。”“我想有个美丽的花园。”31日,在北京大学人民医院综合行政楼10层的小会议厅里,孩子们的欢声笑语充满了整个空间。他们都是在妈妈抗癌过程中出生的“奇迹宝宝”,这次聚会是为了迎接即将到来的“六一”国际儿童节…

上海警方通报迪士尼游客打架 因拍照引发冲突

近日,一段上海迪士尼度假区内两对游客发生纠纷的视频引起了广泛关注。事件发生在5月31日18时左右,浦东公安分局接到报警称迪士尼乐园内有人打架。经初步调查,22岁的闫某某与女友在拍照时,因36岁的刘某某夫妻的女儿进入拍摄画面而引发争执,随后双方发生了肢体冲突。冲突导致…

法网:斯瓦泰克艰难逆转莱巴金娜 豪取25连胜

6月1日,在法国网球公开赛女单第四轮比赛中,四届赛会冠军、5号种子斯瓦泰克以2-1(1-6、6-3、7-5)逆转战胜12号种子莱巴金娜,本赛季第三次击败对手,实现了法网25连胜。波兰名将因此获得了430分和44万欧元奖金。她已连续六年闯入法网八强,并且这是她第11次跻身大满贯八强。…

姆巴佩去年采访称不希望巴黎赢欧冠 未来再夺桂冠

北京时间6月1日,巴黎圣日耳曼在欧冠决赛中以5-0战胜国际米兰,夺得冠军。这一胜利让人们重新关注姆巴佩去年12月份接受CANAL+采访时的言论。当时,姆巴佩被问及“巴黎能否赢得欧冠冠军”的问题时,他表示自己并不希望巴黎立即拿到欧冠奖杯。姆巴佩在那次采访中谈到了许多场内场…

一舟载千年的中式浪漫具象化了 从古至今的文化传承

端午节活动中最具节日气氛的莫过于赛龙舟。“舟”在中国历史悠久,不仅是一种交通工具,还承载着丰富的文化内涵。我国古代造船技艺可以追溯到新石器时代。浙江跨湖桥遗址出土的一艘距今8000年的马尾松独木舟被称为“中华第一舟”。这艘独木舟采用“火焦法”凿制而成,证明了刳…

液态神经网络(Liquid Neural Networks,LNN ):动态时序建模的生物学革命——MIT用微分方程重构AI的时变认知系统

一、通俗解读&#xff1a;当神经网络学会“流动” 1.1 核心思想突破 ​​液态神经网络&#xff08;Liquid Neural Networks, LNN&#xff09;​​ 的核心创新在于&#xff1a;​​将静态神经网络转化为由微分方程驱动的动态系统​​&#xff0c;其革命性体现在&#xff1a; ​…

AI 编码新王炸,Augment (SWE-bench 冠军)免费登场,专治复杂大项目,硬刚 Cursor?

&#x1f379; Insight Daily &#x1faba; Aitrainee | 公众号&#xff1a;AI进修生 Hi&#xff0c;这里是Aitrainee&#xff0c;欢迎阅读本期新文章。 AI 圈又 来了个新玩家 &#xff1a;Augment Code&#xff0c;专治大项目、复杂代码库。 提供 200K 上下文 token、持…

技术演进中的抗拒与共生:全栈工程师视角看AI焦虑

无论是想要学习人工智能当做主业营收&#xff0c;还是像我一样作为开发工程师但依然要了解这个颠覆开发的时代宠儿&#xff0c;都有必要了解、学习一下人工智能。 近期发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;入行门槛低&#x…

探展2024世界人工智能大会之合合信息扫描黑科技~

文章目录 ⭐️ 前言⭐️ AIGC古籍修复文化遗产焕新⭐️ 高效的文档图像处理解决方案⭐️ AIGC扫描黑科技一键全搞定⭐️ 行业级的大模型加速器⭐️ 结语 ⭐️ 前言 大家好&#xff0c;我是 哈哥&#xff08;哈哥撩编程&#xff09; &#xff0c;这次非常荣幸受邀作为专业观众参…

丹摩智算平台体验:AI开发从未如此简单

目录 初次接触丹摩智算GPU算力资源表格 轻松创建GPU实例镜像选择 实验过程体验实验中的一些细节 使用后的感受一点小建议总结 最近我一直在学习一些与深度学习相关的知识&#xff0c;准备自己动手做一些模型训练的实验。平时在自己电脑上跑模型总感觉有点吃力&#xff0c;特别是…

java 使用 spring AI 实战MCP

最近在腾讯云edgeone的直播中了解到了MCP&#xff0c;随着了解发现MCP确实是一个未来发展的趋势 MCP &#xff1a;全称 Model Context Protocol 是一种专为人工智能模型设计的通信协议&#xff0c;于2024年11月由Anthropic推出的开放标准。它旨在解决复杂AI系统中多个模型或组件…

Spring AI+MCP强强联合:三步打造智能体开发王炸组合!

环境&#xff1a;SpringBoot3.4.2 1. 简介 1.1 什么是MCP Model Context Protocol&#xff08;MCP&#xff09;模型上下文协议是一种标准化协议&#xff0c;它让大模型能够更容易地和外部的数据、工具连接起来。你可以把MCP想象成一个通用的插头或者接口&#xff0c;就像USB-…