当前位置: 首页 > news >正文

黑马点评笔记千年后的大总结

随便唠几句

之前做了黑马点评做了一些记录,秉承着伟大开源精神,最近会陆续整理出来,针对一些问题给出修复方案。由于这个项目确实比较老了,之前还是的确碰到了不少问题。

第一部分总结

问题一:lombok与jdk版本不兼容

问题描述:由于本人使用的是jdk21,jdk21中删除了JCImport.qualid字段,springboot 2.3.12管理的lombok版本太旧,不支持,仍然通过反射访问该字段。

解决方案:在pom.xml中显式指定lombok版本为1.18.30+

<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> <optional>true</optional> </dependency>

问题二:Mysql 8连接认证失败

问题描述:mysql 8 默认使用caching_sha2_password 认证插件,需通过公钥检索完成认证,但是旧版MySQL驱动5.1.47默认禁止公钥检索

解决方案:在jdbc url中添加allowPublicKeyRetrieval=true参数

spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/hmdp?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true username: root password: 你的密码

问题三:MySQL 8严格模式下timestamp默认值不合法

问题描述: MySQL 8默认开启严格模式(NO_ZERO_DATE) ,黑马点评中的’0000-00-00 00:00:00’是不合法的timestamp默认值,但是tb_seckill_voucher表中的begin_time和end_time两个字段却使用了这个默认值

解决方案:将默认值从’0000-00-00 00:00:00’修改为CURRENT_TIMESTAMP.

修改前sql文件

CREATE TABLE `tb_seckill_voucher` ( `voucher_id` bigint(20) UNSIGNED NOT NULL COMMENT '关联的优惠券的id', `stock` int(8) NOT NULL COMMENT '库存', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `begin_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '生效时间', `end_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '失效时间', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `begin_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '生效时间', `end_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '失效时间', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`voucher_id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '秒杀优惠券表,与优惠券是一对一关系' ROW_FORMAT = Compact;

修改后sql文件

CREATE TABLE `tb_seckill_voucher` ( `voucher_id` bigint(20) UNSIGNED NOT NULL COMMENT '关联的优惠券的id', `stock` int(8) NOT NULL COMMENT '库存', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `begin_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '生效时间', `end_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '失效时间', `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`voucher_id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '秒杀优惠券表,与优惠券是一对一关系' ROW_FORMAT = Compact;

解决了这部分的内容,你的项目大概率就可以跑起来并且拿到数据了,接下来就去引入前端的代码即可。

http://www.jsqmd.com/news/939907/

相关文章:

  • 2026年质量好的农业机械力传感器/航空航天力传感器/苏州机器人力传感器/自动化设备力传感器优质厂家汇总推荐 - 行业平台推荐
  • 别再凭感觉画线了!用这个在线工具5分钟搞定PCB电源线宽(附电流计算表)
  • 深入解析JetBrains Maple Mono字体合成架构与实现原理
  • 山东大学项目实训个人纪实(6)——降低唇形同步延迟及性能需求
  • 现在不整合AI与开发工具,半年后将丧失交付竞争力:2024Q2 DevOps Survey揭示的3个临界阈值与紧急应对清单
  • [智能体-225]:智能体大模型体系 VS 冯诺依曼计算机硬件类比详解
  • 茄子快传与 WeTransfer 差距在哪?Bending Spoons 收购后 WeTransfer 月流水涨至 400 万+美元
  • 【Tilelang入门】Tilelang Puzzles 08
  • Translumo:如何在3分钟内掌握Windows实时屏幕翻译的终极技巧
  • 告别拥堵!用Python+SUMO+TraCI手把手教你打造一个会‘自学’的智能交通体(附完整代码)
  • 保姆级教程:在Windows/Linux上为YOLOv8s模型生成GradCAM热力图(避坑CUDA/CPU环境配置)
  • 【AI监控融合实战指南】:20年运维专家亲授5大落地陷阱与避坑清单
  • 导师骂你PPT逻辑乱?这个网站,自动帮你把论文变答辩神器
  • 告别旧版!Vitis Unified IDE 2023.2 保姆级配置指南:从OpenCV到Vision库,手把手搞定HLS开发环境
  • 从日常运维到脚本编写:详解Windows批处理中find与findstr的10个经典使用场景
  • 告别GPIO模拟时序:用STM32的FSMC外设高效驱动TFTLCD,性能提升实测
  • CW32量产效率翻倍秘籍:CW-Programmer自动编号与工程文件实战
  • 跨镜无缝轨迹续联高密度多目标透明化人防监测预警及AI预案
  • 粒球计算与骨架聚类技术在大数据中的应用
  • 零信任架构下AI视频分析平台落地全链路(2024最新NIST SP 800-207+ISO/IEC 27001双标验证)
  • openEuler磁盘空间告急?别慌,这份LVM扩容避坑指南帮你一次搞定
  • 智慧电网电力设施目标检测数据集|输电线天线风机烟囱识别YOLO深度学习数据集10148期
  • 避开CANoe以太网诊断的‘大坑’:TCP/IP Stack选错,你的数据可能就‘丢’了
  • 开源 AI 绘图神器,一键生成可编辑架构图
  • 在Tina5.0系统里,如何一步步验证RTL8188FU USB WiFi驱动是否正常工作?
  • 告别“狗牙”圆:Bresenham画圆算法在嵌入式屏幕(如STM32+LCD)上的C语言实战
  • QMT数据获取避坑指南:你的`get_market_data`和`get_local_data`用对了吗?
  • 室友问我为什么答辩前还在睡大觉?因为我PPT是自动生成的
  • JetBrains IDE试用期终极重置指南:3步快速恢复30天完整功能
  • [智能体-226]:大模型 ↔ 计算机硬件全套类比详解(冯・诺依曼架构对齐),智能体完整复刻冯诺依曼计算机运行范式