自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 学生成绩管理系统

摘 要 学生成绩是高校人才培养方案不可或缺的一部分,是促进人才培养计划、塑造学生 研究能力与创新思维能力、检测学生综合能力与实践技能的重要途径与综合型实践活动 教学过程。而学生所属学校大多采用半手工制作管理学生成绩的形式,因此必须开发大 学生成绩管理系统来对学生成绩档案资料开展智能化管理。既可缓解学校教职工压力, 较为系统化对教务管理、课堂教学里的各项服务和数据进行管理,也可加速分数查询速 率、提升考试成绩管理,紧跟我国各个部门有关数字化的脚步,使各类管理更为规范性。 本文对大学生成绩管理全面的开发全过程展

2026-08-20 15:30:00 140

原创 图书项目下

本次实验在图书项目上的基础上,成功完成 Spring Boot 进阶功能开发,实现了 MyBatis-Plus 分页与条件查询、全局统一异常处理、JWT 登录认证、基础 RBAC 权限控制,系统安全性、规范性与实用性显著提升,所有进阶功能均正常运行,达到实验全部要求。熟练使用MyBatis-Plus 条件构造器,实现书名、作者、价格、库存等多维度模糊与范围查询。代码规范:统一 DTO、实体、配置类命名,增加注释,便于维护。完成分页插件配置,实现图书分页查询,支持自定义页码与页大小。

2026-08-19 19:30:00 216

原创 图书项目上

项目严格遵循 MVC 三层架构,采用 RESTful 风格设计接口,通过统一 Result 封装返回 JSON 格式数据,数据库连接正常、业务逻辑稳定,可实现图书的新增、删除、修改、列表查询与 ID 精准查询,满足前后端数据交互的基础需求。主要实验仪器及设备:计算机+网络,spring boot+mybatis-plus,mysql。测试优化:接口测试前先启动项目,按新增→查询→修改→删除顺序逐步验证,定位问题更高效。环境配置:提前检查JDK 版本与项目 SDK 设置,确保环境统一,避免启动报错。

2026-08-19 07:00:00 181

原创 角色权限控制(RBAC)与动态菜单

GET http://localhost:8080/goods/list # 需要"查看商品"权限。POST http://localhost:8080/goods/add # 需要"商品管理"权限。用户(User) → 角色(Role) → 权限(Permission)(1,'查询商品','/goods/list'),5.角色权限表(role_permission)(2,'添加商品','/goods/add');"username": "你的用户名","password": "你的密码"

2026-08-18 20:00:00 317

原创 登录认证(JWT)

throw new RuntimeException("token无效");throw new RuntimeException("未登录");return Result.error("用户名或密码错误");Header(头部).Payload(载荷).Signature(签名)"message": "token无效",5.实现登录保护(未登录无法访问接口)。"message": "操作成功","data": "token字符串""message": "未登录",4.掌握接口鉴权(拦截器/过滤器)。

2026-08-18 07:00:00 168

原创 后端参数校验

NotBlank(message = "商品名称不能为空")@NotBlank(message = "商品描述不能为空")"message": "price: 商品价格必须大于 0",@NotBlank(message = "发布人不能为空")"message": "title: 商品标题不能为空","description": "几乎全新",5.结合全局异常处理,实现校验错误统一返回。"description": "测试","description": "测试","message": "操作成功",

2026-08-17 20:00:00 226

原创 全局异常处理(@ControllerAdvice)

return Result.error("系统异常:" + e.getMessage());return Result.error("参数错误:" + e.getMessage());return Result.success("删除成功");return Result.error("空指针异常");5.结合 Result 统一返回结构,实现异常统一输出。"message": "系统异常:xxx","message": "商品不存在","message": "空指针异常",

2026-08-17 07:00:00 346

原创 MyBatis-Plus 的条件查询

1.掌握 MyBatis-Plus 条件构造器(Wrapper) 的使用方法。http://localhost:8080/goods/seller/张三。('Java编程书','Java基础教材',50,'李四'),4.能够使用 MyBatis-Plus 完成复杂查询操作。('二手自行车','九成新山地车',300,'张三'),('笔记本电脑','轻薄办公本',2500,'王五'),3.掌握常见条件查询操作:等值查询,模糊查询,范围查询。('台灯','学习台灯',30,'张三');

2026-08-13 20:15:00 436

原创 MyBatis-Plus 的CRUD

5.理解 Controller + Mapper + Database 的基本开发模式。2.学会 SpringBoot 集成 MyBatis-Plus 的基本流程。3.掌握 MyBatis-Plus 实现 CRUD 操作的方法。1.掌握 SpringBoot 项目的创建方法。4.能够开发简单的 信息发布与查询系统。MyBatis-Plus 的CRUD。开发工具:IntelliJ IDEA。测试工具:Postman或浏览器。构建工具:Maven。2.查看所有二手物品。2.查看所有二手物品。

2026-08-13 12:15:00 215

原创 SpringBoot RESTful API 设计与实现

1.学会使用 @GetMapping、@PostMapping、@PutMapping、@DeleteMapping 设计 RESTful API。2.创建虚拟宇宙探索任务控制器类,其中包含5个方法:获取所有探索任务,根据 ID 获取特定探索任务,添加新探索任务,更新探索任务,删除探索任务。4.更新探索任务(PUT /missions/{id},更新任务信息)。"status": "进行中","status": "已完成","name": "探索火星","name": "太阳风暴观测",

2026-08-13 07:15:00 428

原创 SpringBoot 入门实验报告

从实体层(Entity)、控制层(Controller)的定义与作用,到各层间的协作关系(Controller 接收请求→调用 Service→依赖 Entity 传参),不再停留在 “理论分层”,而是能结合实际代码理解 “为什么分层”(解耦、易维护)、“各层该做什么”(Controller 只做请求转发,不写业务逻辑),建立了规范的编程思维。AI 生成代码后必须进行人工检查,这是保障代码质量、安全性和业务适配性的核心环节,AI 生成的代码仅能作为 “初稿”,无法完全替代人工审核。

2026-08-12 16:30:00 246

原创 Spring Boot基础应用开发与部署

在src/main/java/com/example/springbootdemo目录下创建一个名为HelloController.java的类。打开浏览器或使用Postman访问http://localhost:8080/hello,观察返回结果。重新启动应用,并访问http://localhost:8081/hello验证端口是否已更改。访问http://localhost:8081/hello,验证应用是否正常运行。2.掌握Spring Boot项目的创建与基本配置。

2026-08-12 11:47:57 435

原创 数据结构与算法实验

本实验实现了图的创建,遍历和求最短路径的操作,其中最短路径问题为该实验的重难点,在本实验中,我使用了迪杰斯特拉算法,本算法思路比较简单,在不使用堆优化的情况下,时间复杂度为O(E2),使用二叉堆后能优化到O((V+E)logE),效率还是挺可观的。建立辅助数组visited记录结点是否被访问过,假设对结点i进行广度优先遍历,则先访问结点i,将结点i入队,再将visited[i]标记为true,然后弹出队首,访问i能直接到达且还未被访问过的结点,入队,然后修改visited相应的元素。

2024-04-11 09:11:40 823

原创 数据结构 实验报告11

NULL && Cur_Node->Right_Child == Pre_Node) //当前节点的右孩子节点刚好上次遍历,说明该袖珍树只差根就遍历完成。= NULL && Cur_Node->Rtag == Thread) //按线索找到次树节点。= NULL && Cur_Node->Rtag == Link) //回到上一层后,先访问右孩子。if (Cur_Node == Tree) //如果当前节点为根节点,说明遍历完成。if (Tree->Left_Child == NULL) //根。

2024-04-08 09:00:00 1147

原创 数据结构与算法实验10-查找和排序

printf("学号\t 姓名 \t 房号 \t \n");printf("学号 \t,姓名 \t,房号 \t \n");printf("\n未找到该信息\n");printf("\n未找到该信息\n");printf("\n未找到该信息\n");printf("学号 \t姓名 \t房号 \t");printf("\退出查询\n");printf("1.按姓名查询 \n");printf("2.按学号查询 \n");printf("\n1.添加数据\n");printf("3.按房号查询\n");

2024-04-07 09:00:00 580

原创 数据结构与算法实验9-图的应用(最短路径)

printf(" 从%d到%d的最短路径长度为:%d\t路径:",v,i,dist[i]);D[j]+arcs[j][k]

2024-04-06 09:00:00 939

原创 数据结构与算法实验-实验八:图ADT的基本实现

基本思想:通过一趟排序,将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录进行排序,以达到整个序列有序。排序过程:整个排序过程为n-1趟插入,即先将序列中第1个记录看成是一个有序子序列,然后从第2个记录开始,逐个进行插入,直至整个序列有序。printf("第%d名: %s %d\n",t,a[i].name,a[i].score);printf("第%d名: %s %d\n",t,a[i].name,a[i].score);

2024-04-05 09:00:00 367

原创 数据结构与算法 实验7 查找的基本操作

熟练掌握顺序表和有序表的查找方法及其实现,掌握二叉排序树的插入和查找算法及其实现,了解平衡二叉树、B-树和B+树的各种操作。熟练掌握散列表的构造方法、处理冲突的方法,深刻理散列表与其他结构的表的实质性的差别,了解各种散列函数的特点。Element = input('请输入要插入的元素(回车继续,#结束):')print(info,'位于第',ip,'个位置。print('判断列表是否为空:',end=' ')print('遍历输出列表:',end=' ')print('列表为空')

2024-04-04 09:00:00 517 1

原创 数据结构与算法实验-栈和队列(3)

选择菜单中的“不再排队,余下依次就诊”选项,程序将依次取出排队队列中的所有病人进行就诊,并显示病人的病历号,然后退出运行。经过多次测试,程序能够正确模拟病人排队就诊的过程,并且在用户选择“不再排队,余下依次就诊”和“下班”时能够正常退出。:选择菜单中的“排队”选项,输入病人的病历号,程序将病人加入排队队列,并显示排队成功信息。:选择菜单中的“就诊”选项,程序将取出排队队列中最前面的病人进行就诊,并将其从队列中删除。测试了空队列情况下的操作,以及选择“不再排队,余下依次就诊”和“下班”时程序的退出情况。

2024-04-03 09:00:00 1226 1

原创 数据结构与算法实验6——队的应用

注意点:队列特点为先进先出,front==rear时表示队列满或空,另设tag,当tag==1时表示满,tag==0时表示空,队列满则返回0。printf("出队的元素为:%d,当前队列的长度为:%d\n\n",e,GetLength(s));printf("出队的元素为:%d,当前队列的长度为:%d\n\n",e,GetLength(s));printf("出队的元素为:%d,当前队列的长度为:%d\n\n",e,GetLength(s));=NULL) /*队不空*/

2024-04-02 09:14:34 1079 1

原创 数据结构与算法实验—— 图的基本操作

print('请依次输入图中每条边的两个顶点值,两个顶点值以空格作为间隔,每输入一组后进行换行,最终以#结束输入:')print('该图顶点数为',graph.VertexNum,'个','弧数为',graph.ArcNum,'个')print('请依次输入图中各顶点的值,每个顶点值以回车间隔,并以#作为输入结束符:')print('广度优先遍历图的结果如下:',end=' ')print('将D邻接的第一个顶点为:',end=' ')print(' 度',end=' ')

2024-04-01 09:00:00 984

原创 数据结构与算法实验—— 树、二叉树和森林的基本操作

了解树和森林的概念,包括树的定义、树的术语。掌握线索化二叉树的特性及寻找某结点的前驱和后继的方法。了解树的存储、树和森林与二叉树的转换方法。(2)以(1)中结点作为根结点,使用递归算法创建一棵图 5-1(主教材 P267 图 5-48)所示的树。创建名为 ex050601_01.py 的文件,在文件中定义两个类,一个是树的结点类,该。类包含结点的相关信息(如结点的值和所有的子树);(7)插入值为 G 的结点,使其是值为 D 的结点的第一个孩子结点。理解树的存储结构,并掌握树的基本操作。

2024-03-31 09:00:00 880 1

原创 数据结构与算法实验——3栈、队列和递归的基本操作

熟练掌握栈的顺序栈和链栈的进栈出栈算法,特别应注意栈满和栈空的条件。print(self.s[self.top],"出栈")print("栈顶元素:",self.s[self.top])print("栈的长度:",self.top+1)Element=input("请输入元素:")print("栈满")print("输入'#'退出")print("栈为空")print("栈为空")print("栈为空")print("栈为空")print("栈满")print("栈不为空")print("栈为空")

2024-03-30 09:00:00 777 1

原创 数据结构与算法实验—— 查找及排序

③ 生成200个在[200, 10000]之间的整数保存数组A中,以此数组元素作为关键字,采用快速排序算法按非递减方式进行排序,给出操作的结果及相应的操作次数;① 生成100个在[200, 1000]之间的整数保存数组A中,以此数组元素作为关键字,采用希尔排序算法按非递减方式进行排序,给出操作的结果及相应的操作次数;④ 生成500个在[200, 10000]之间的整数保存数组A中,以此数组元素作为关键字,采用堆排序算法按非递减方式进行排序,给出操作的结果及相应的操作次数;//数组下标是从0开始的。

2024-03-29 09:00:00 582 1

原创 数据结构与算法实验——图的基本操作的实现

输入数据的第一行是一个正整数Y(Y=1表示接下来输入的图是无向图,Y=2表示接下来输入的图是有向图,当Y取其他值时,表示输入结束)。对每个图,按其顶点编号从小到大的次序,依次输出每个顶点编号及该顶点的度(以空格间隔),每个顶点的相关信息占一行。实现图的如下基本操作:统计图中每个顶点的度数。0 2 —第1条弧的信息,顶点0为起点,顶点2为终点。2 1 —第2条弧的信息,顶点2为起点,顶点1为终点。1 2 —第3条弧的信息,顶点1为起点,顶点2为终点。3 4 —第4条弧的信息,顶点3为起点,顶点4为终点。

2024-03-28 09:00:00 377 1

原创 数据结构与算法实验——集合的应用(排序算法)

cout

2024-03-27 09:00:00 784 1

原创 数据结构与算法实验5-栈和队列

enQueue(q, 'c')) cout

2024-03-26 14:33:00 817

原创 数据结构与算法实验4——字符串和数组

接下来1行,包括length(pattern)个整数,表示前缀数组next[i]的值,数据间以一个空格分隔,行尾无多余空格。对于每组测试,若子串t在主串s中出现,则输出t在s中的子串位置和出现总次数,否则输出“0 0”。输出转置后的三元组顺序表结果,每行输出非零元素的行标、列标和值,行标、列标和值之间用空格分隔,共t行。输入第1行为两个同型矩阵的行数m、列数n,矩阵A的非零元素个数t1,矩阵B的非零元素个数t2。按置入b中的顺序输出置入的位置下标,转置后的三元组行标、列标和值,数据之间用空格分隔,共t行。

2024-03-26 08:53:27 585

原创 Git 的基本概念和使用方式

分支(Branch):分支是指仓库的一条独立的开发线,可以在不影响主线的情况下进行代码的修改和试验。提交(Commit):提交是指将文件的变化保存到仓库中的操作。Git是一种版本控制系统,它的基本概念是跟踪文件的变化并保存这些变化,从而允许用户在不同版本之间切换和共享代码。合并(Merge):合并是指将一个分支的修改和另一个分支的修改合并到一起。以上是Git的基本概念和使用方式的简要介绍,Git还有许多更高级的用法和命令,可以根据具体需求进行学习和使用。命令可以将本地仓库的修改推送到远程仓库。

2024-03-26 08:46:12 269

原创 实验2——黑盒测试方法

具体实验内容如下:有一个“日期推算”程序,该程序的功能是输入一个日期,输出该日期后天的日期,例如输入2023年1月1日,则输出2023年1月3日。为便于统一,我们约定在“日期推算”程序中有三个整数型变量Year、Month、Day,分别表示日期的年月日,并假设已经限定输入数据均为整数,日期中年份的有效取值范围为1910—2030。掌握黑盒测试的基本概念和原理;实验总结:本次实验展示了代码测试的重要性,通过对不同情况的测试用例进行验证,可以帮助发现潜在的问题并改进代码逻辑,提高代码的健壮性和准确性。

2024-03-26 08:37:33 2727

原创 MySQL安装配置教程(超级详细)

2. 选择安装的产品和功能依次点开“MySQL Servers”、“MySQL Servers”、“MySQL Servers 5.7”、“MySQL Servers 5.7.31 -64”,然后点击绿色箭头将选中的版本移植到右边选中框中。9. 先选中“MySQL Server5.7.31”,若电脑中没有这个环境,会提示安装“Microsoft Visual C++ 2013”环境,点击“Execute”5. 直接点击“OK”注:这里因为选择了我自己创建的路径,故程序提示路径已存在,是否要继续。

2024-03-19 15:13:26 1161

原创 推荐几款chatGPT的浏览器插件供大家学习,教程如下

研究人员在对未加限制的 GPT-4 模型做了一系列实验后发现,GPT-4 的能力已经具有一定的普遍性,它的许多能力跨越了广泛的领域,而且它在广泛的任务中的表现达到或超过了人类水平,综合来看,他们认为 GPT-4 可以说是迈向 AGI(通用型人工智能)的重要一步。ChatGPT 可以利用插件调用最新的或特定的信息,执行一些特殊的操作。ChatGPT 就是你的专属秘书,现在它有了很多的工具,当你给它一个明确的任务安排,并且有一定的结果预期,它可以帮你解决很多问题——尽管它现在还不够完美。

2024-03-19 14:46:16 384

原创 数据结构与算法实验(4)-栈的实现4

根据给定的实验输入数据,栈会依次进行进栈操作,并在第5次操作时进行一次出栈操作,最后输出栈的长度和栈中元素。本关要求针对“栈”这一数据结构完成六个操作函数,分别实现栈的初始化、进栈、出栈、判断栈是否为满、是否为空、求栈元素个数等功能。在弹出的对话框中选择 “Visual C++” -> “Empty Project”,并给项目命名,然后点击 “OK”。在实现栈的基本操作函数时,需要确保在进栈时避免栈已满的情况,出栈时避免栈已空的情况,否则可能导致程序崩溃或结果错误。否则(空栈),返回false。

2024-03-19 14:40:19 1823

原创 数据结构与算法实验-图书管理系统--链式存储(2)

在实验中,我们还意识到系统还有一些可以改进的地方,例如优化图书查询的算法、增加用户界面的友好性、加强系统的错误处理和容错能力等。未来,我们计划继续优化系统的性能和用户体验,可能引入一些新的数据结构和算法来提升系统的效率和可扩展性。针对这些问题,我们进行了详细的调试和分析,通过逐步排查,最终找到了问题的根源并进行了相应的修复。需要进行详细的误差分析,找出误差产生的原因,并进行相应的处理和纠正。在执行实验过程中,需要记录各种操作的输入数据和输出结果,包括添加、删除、查询和显示图书等操作的输入和输出数据。

2024-03-12 15:04:15 1400 1

原创 人工智能的迷惑行为!

总体而言,人工智能的迷惑行为可能影响人们对技术的态度,推动社会对于技术发展和应用的更深层次的思考和讨论。例如,某些笑话、谜语或者隐喻在不同的文化背景下具有不同的含义,如果系统没有足够的文化知识,就容易产生误解或者不恰当的回答。此外,模型的大小和复杂度也会影响其性能和表现。”时,系统可能会给出一些令人思考或发笑的答案,因为这个问题本身就是开放性的,没有唯一正确的答案。总的来说,人工智能系统在执行任务时可能会出现各种出人意料的结果,有时候会带来一些幽默和令人发笑的效果,这也是其局限性和人类智慧之间的差异所在。

2024-03-12 14:21:57 1157 1

原创 顺序表与链表

* 正位序输入n个元素的值,建立带表头结点的单链表L */int ListInsert_sq(Sqlist *L,int i,ElemType e);/*在带头结点的单链表L中第i个位置插入值为e的新结点 */原文链接:https://blog.youkuaiyun.com/WZY22502701/article/details/123798240。/*结点指针域置空*//*查找值为e的元素*//*删除第i个元素*//*输入顺序表的元素个数*//*输出带头结点单链表的所有元素*/

2024-03-12 09:09:20 464 1

原创 数据结构与算法-线性表实验(一)

这样,一个单元的指针就指向了下一个单元,从而形成了链表的结构。链表的最后一个单元的指针指向一个特殊的标记NULL,表示链表的末尾。顺序表:顺序表的存储结构是将表中的数据元素存放在一组连续的存储单元中,并且数据元素之间的关系也是顺序的。由于数组的大小是固定的,所以数组的容量将是固定的。因此,在实现线性表的基本操作时,我们必须处理数组容量不够的情况,为此,我们通常会使用动态数组的方式来实现。若将n个数据元素存在一维数组中,用一组连续的存储单元存放,数据元素之间的关系是前驱后继关系,则该线性表称为顺序表。

2024-03-12 09:05:10 1239 1

原创 数据结构与算法-图书管理系统实验(一)

输出总计 n+1 行,第 1 行是所创建的图书表中的图书个数,后 n 行是 n 本图书的信息(书号书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔。输出总计 m+1 行,其中,第 1 行是最贵的图书数目,(价格最高的图书可能有多本),后m行是最贵图书的信息,每本图书信息占一行,书号、书名、价格用空格分隔。总计输出m+1行(m

2024-03-12 08:56:50 1995 2

大学生成绩管理系统的毕业设计模板

大学生成绩管理系统的设计与实现 摘 要 学生成绩是高校人才培养方案不可或缺的一部分,是促进人才培养计划、塑造学生 研究能力与创新思维能力、检测学生综合能力与实践技能的重要途径与综合型实践活动 教学过程。而学生所属学校大多采用半手工制作管理学生成绩的形式,因此必须开发大 学生成绩管理系统来对学生成绩档案资料开展智能化管理。既可缓解学校教职工压力, 较为系统化对教务管理、课堂教学里的各项服务和数据进行管理,也可加速分数查询速 率、提升考试成绩管理,紧跟我国各个部门有关数字化的脚步,使各类管理更为规范性。 本文对大学生成绩管理全面的开发全过程展开了比较详尽的阐述,本系统使用 B/S 架构设计、SSM 框架和 Java 开发出来的 Web 架构,IDEA 开发专用工具。大学生成绩 管理系统的主要用户是管理员、教师和学生。实施方案中包括管理员的管理权限和教师 的后台管理权限。该系统的开发和完善大大提高了评估管理的效率,在保证数据安全的 前提下,方便了学校师生的工作和学习。 关键词:Java 编程语言;MySQL 数据库;SSM 框架

2024-03-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除