- 博客(1250)
- 资源 (24)
- 收藏
- 关注
原创 企业培训笔记:宠物信息管理--实现宠物信息的更新
在宠物管理系统中,除了新增宠物信息外,更新已有宠物的信息也是核心功能之一。本文将详细介绍从后端接口开发到前端交互实现的完整流程,带你一步步完成宠物信息的更新功能。Mapper接口中的抽象方法需要通过XML文件编写具体的SQL逻辑来实现数据库交互。对于宠物信息更新功能,我们需要在中定义UPDATE语句,并通过动态SQL实现灵活的字段更新。
2025-08-21 01:03:30
16
原创 数据结构:图
图(Graph)是一种比树更复杂的非线性数据结构,它通过顶点和边的关系表达多对多的关联关系,广泛应用于社交网络、路径规划、电路设计等领域。图由顶点集和边集组成,记为G = (V, E)顶点集(V):由具有相同特性的数据元素组成的非空有限集合,每个元素称为顶点(Vertex);边集(E):由顶点之间的关系组成的有限集合,每条关系称为边(Edge)。无向图:边是无序对,记为(v, w),表示顶点v和w之间存在双向关系(如朋友关系);有向图:边是有序对,记为<v, w>
2025-08-12 23:39:57
712
原创 企业培训笔记:宠物信息管理--实现宠物信息的添加
在MyBatis中,Mapper接口的抽象方法需要通过对应的XML文件来编写具体的SQL语句,以实现与数据库的交互。对于上一步定义的方法,我们需要在中定义插入数据的SQL语句。--实现宠物信息保存--> < select id = " savePetMapper " parameterType = " com.soft.entity.Pet " > insert into t_pet values(null,#{pname},#{color},#{age}) </ select >
2025-08-12 23:28:56
258
原创 数据结构:树与二叉树
树是一种非线性数据结构,它通过层次化的关系组织数据,广泛应用于文件系统、数据库索引、人工智能等领域。与线性表的“一对一”关系不同,树的核心是“一对多”的层级关系。树(Tree)是由n(n≥0)个节点组成的有限集合。当n=0时,称为空树;有且仅有一个特定的节点称为根(Root),它没有前驱节点;其余节点可分为m(m≥0)个互不相交的有限集合T₁,T₂,…,Tₘ,每个集合本身又是一棵树,称为根的子树(Subtree)。示例。
2025-08-11 23:20:12
1252
原创 数据结构:串、数组与广义表
串(String),又称字符串,是由零个或多个字符组成的有限序列。通常记为S 是串名;双引号(或单引号)是串的定界符,不属于串的内容;aᵢ(1≤i≤n)是单个字符,称为串的元素;n 是串的长度,当 n=0 时称为空串(记为 “”)。串的核心特点是元素的同质性——所有元素都是字符,且元素间存在明确的顺序关系。例如,“Hello” 是长度为5的串,由字符 ‘H’、‘e’、‘l’、‘l’、‘o’ 组成。空串(“”)与空格串(" ")不同,空格串的长度为空格的个数(如 " " 长度为2);
2025-08-11 21:59:28
929
原创 数据结构:栈和队列
栈和队列是两种特殊的线性表,它们在操作上具有严格的限制,广泛应用于算法设计、系统开发等领域。栈(Stack)是一种限定仅在表尾进行插入和删除操作的线性表,其核心特点可概括为**“后进先出”(Last In First Out,LIFO)**。关键术语允许操作的一端称为栈顶(Top);另一端称为栈底(Bottom);插入元素的操作称为入栈(Push);删除元素的操作称为出栈(Pop);不含元素的栈称为空栈。示例:叠放的盘子,只能从最上方取放,最后放入的盘子最先被取出。数学描述。
2025-07-15 21:51:23
1027
原创 数据结构:线性表
由n(n≥0)个具有相同特性的数据元素组成的有限序列。有序性:元素之间存在明确的先后顺序,第一个元素无前驱,最后一个元素无后继,其余元素有且仅有一个前驱和一个后继(如数组[1,2,3]中,2的前驱是1,后继是3)。同质性:所有元素属于同一数据类型(如整数列表、字符串列表)。有限性:元素个数n为非负整数,当n=0时称为“空表”。线性表是现实世界中“序列关系”的抽象,例如学生点名册(按学号排序)、购物清单(按添加顺序)等均符合其特征。
2025-07-15 21:46:37
802
原创 企业培训笔记:宠物信息管理--实现宠物信息分页查询
基于SpringBoot+MyBatis+Vue3+Element Plus UI的前后端分离项目,实现对后台数据库中的宠物信息,在Vue前端页面可视化的进行数据呈现、删除、修改与添加。
2025-07-14 19:23:52
894
原创 企业培训笔记:axios 发送 ajax 请求
axios 是基于 Promise 的HTTP客户端,用于浏览器和 Node.js,是现代前端开发中最流行的请求库之一。核心特性浏览器与 Node.js 通用浏览器端基于,Node.js 端基于http模块。支持语法,避免回调地狱:const response = await axios.get('/api/data');拦截器可全局拦截请求和响应(如添加认证头、统一错误处理):axios.interceptors.request.use(config => {});请求取消使用。
2025-07-14 19:20:48
1240
原创 数据结构:导论
本文系统介绍了数据结构的核心内容,包括:(1)数据结构三大研究维度:数据组织形式、操作体系设计和性能优化理论;(2)基本概念与术语,如数据元素、逻辑结构(线性/树形/图状)和存储结构(顺序/链式);(3)抽象数据类型的表示与实现,并以栈为例说明;(4)算法特性与评价标准,重点分析时间/空间复杂度(大O表示法)。数据结构与算法互为支撑,是计算机科学的理论基础和实践工具,为复杂系统开发提供关键方法论。
2025-07-11 22:07:56
693
原创 企业培训笔记:Vue3前端框架配置
Vue3 开发环境搭建指南 本文详细介绍了Vue3框架的特性与开发环境配置流程。Vue3采用Proxy重构响应式系统,优化虚拟DOM,引入组合式API,显著提升性能与开发体验。环境搭建部分包含Node.js下载安装、镜像源配置、Idea项目导入等步骤,重点演示了Vue插件安装和npm运行配置方法。通过serve命令启动项目后,可成功访问默认Vue3界面。该指南为开发者提供了从零开始构建Vue3开发环境的完整解决方案。
2025-07-11 22:07:06
1537
原创 企业培训笔记: Mybatis 懒加载机制
MyBatis 的懒加载(Lazy Loading)是一种优化策略,允许在需要关联对象时再进行数据库查询,而非在主查询时立即加载所有关联数据。这种机制特别适用于一对多或多对多关系,可以显著提升查询性能。
2025-07-10 07:16:44
1115
原创 企业培训笔记: Mybatis实现多表查询输出映射
在实际开发中,业务场景往往需要关联多个数据库表进行查询,MyBatis 提供了灵活的多表查询输出映射机制,能够将多张表的数据映射到复杂的 Java 对象中。
2025-07-10 07:14:10
848
原创 企业培训笔记:MyBatis的输出映射
MyBatis 中的输出映射(Result Mapping)是指将 SQL 查询结果映射到 Java 对象的过程。当执行数据库查询后,MyBatis 需要将返回的结果集(ResultSet)转换为对应的 Java 对象,这个转换规则的定义就是输出映射。
2025-07-08 08:23:56
1010
原创 企业培训笔记:SpringBoot+MyBatis项目中实现动态SQL操作
动态 SQL 是 MyBatis 的核心特性之一,允许你在 XML 或注解中编写灵活的 SQL 语句,根据不同条件动态生成 SQL。它通过标签(如ifwhereforeachifwhereforeach等)和 OGNL 表达式实现条件判断、循环等逻辑,避免硬编码 SQL,提高代码复用性和可维护性。可替代<where><set>,通过属性灵活控制前缀、后缀。
2025-07-08 08:23:06
979
原创 企业培训笔记:SpringBoot+MyBatis项目中实现分页查询
PageHelper 是一款针对 MyBatis 框架的开源分页插件,由国内开发者开发,旨在简化 MyBatis 中分页查询的开发流程。它通过拦截 SQL 执行过程,自动对查询语句进行分页处理,无需手动编写复杂的分页 SQL,极大提升了开发效率。-- 分页查询宠物信息 --></select>
2025-07-02 11:06:25
953
原创 企业培训笔记:SpringBoot+MyBatis 实现简易增删改查
2,新建entity包,右击【net.army】包——选择【New】——单击【Package】。1,新建mapper包,右击【net.army】包——选择【New】——单击【Package】。4,创建Pet类,右击【entity】包——选择【New】——单击【Java Class】。1,右击【resource】——选择【New】——单击【Directory】。3,右击【mapper】——选择【New】——单击【Java Class】。3,右击【mapper】——选择【New】——单击【File】。
2025-07-02 09:31:51
820
原创 编译原理——中间代码优化与目标代码生成
本文系统介绍了编译原理中的中间代码优化与目标代码生成技术。主要内容包括:1) 基本块、流图与循环的程序微观结构分析;2) 数据流分析基础方法,如到达定值、活跃变量分析等;3) 代码优化技术,涵盖窥孔优化、局部优化、循环优化和全局优化;4) 目标代码生成过程,重点讲解指令选择、寄存器分配和图着色算法。文章通过示例代码和流程图详细展示了各优化技术在编译器中的具体应用,为理解现代编译器的工作原理提供了系统性的技术框架。
2025-06-30 22:16:45
1164
原创 编译原理——运行时存储组织与内存管理
运行时存储组织是编译器后端的"内存管家",核心使命是在程序运行时高效管理内存资源。空间规划师:将内存划分为代码区、数据区、栈区、堆区等逻辑区域,各司其职(如代码区存指令、栈区管函数调用);生命周期管理员:根据变量作用域(全局/局部/动态)分配存储策略,确保数据"生得其所,死得其时";地址翻译官:将符号地址(如变量名count)映射到物理内存地址,支持程序正确读写数据。当函数套娃(如inner的活动记录SL指向outer的活动记录;访问outer的x时,沿SL链直接去outer账本取数;
2025-06-30 22:13:58
1285
原创 编译原理——静态语义分析和中间代码生成
摘要: 本文系统介绍了编译原理中静态语义分析和中间代码生成的核心环节。静态语义分析通过符号表进行类型检查、作用域验证等任务,确保程序语义正确性。中间代码生成将源程序转换为AST、三地址码等中间表示形式,为目标代码生成奠定基础。文章详细解析了符号表的结构与实现方式(数组/链表/哈希表)、作用域管理机制,以及PL/0编译程序中的符号表设计实例,并阐述了多遍扫描方法在编译流程中的分工优势。这些关键步骤共同构建了从源代码到可执行代码的桥梁。
2025-06-28 22:32:14
1072
原创 数据结构:最小生成树—Prim(普里姆)与Kruskal(克鲁斯卡尔)算法
维度Prim 算法Kruskal 算法贪心策略顶点扩展边排序数据结构优先队列(最小堆)并查集时间复杂度(O(E \log V))(堆优化)(O(E \log E))(排序主导)适用图类型稠密图稀疏图。
2025-06-28 22:21:52
1320
原创 数据结构:图—AOE-网题型解析
AOE-网通过量化活动依赖关系和时间参数分析,将工程管理从“经验驱动”转化为“数据驱动”。无论是建筑工程、软件开发还是项目调度,掌握关键路径分析都能帮助精准把控进度,避免因活动延误导致的全局风险。💡 下期将拆解更多数据结构实战案例,欢迎关注~
2025-06-17 10:05:15
868
原创 UltraISO绿色便携版v9 下载与安装教程
UltraISO是一款专业的光盘映像处理工具,支持20多种镜像格式转换与编辑,并提供启动盘制作功能。本文详细介绍了其绿色便携版(v9.7.5.3716)的下载安装方法,包含百度网盘资源(提取码tv6u)和图文安装指南,重点演示了Windows/Linux启动盘制作流程,并分享了镜像编辑、兼容性调整等实用技巧。同时解答了常见问题,提示需关闭杀毒软件完成注册,强调仅限个人学习使用。该工具兼容Win11/10/7等全系列系统,是系统维护的实用选择。
2025-06-14 20:48:15
3143
原创 时事新闻:2025 伦敦科技周
在这里,思想的火花不断碰撞,创新的灵感四处迸发。想象一下,在这些新的研究中心里,顶尖的科学家们汇聚一堂,他们在代码与算法的世界里穿梭,为 AI 的发展开辟新的疆土,那将是一幅多么令人热血沸腾的画面。也许在不久的将来,当你走进家门,智能助手就能根据你的表情和语气,判断出你的心情,并为你播放一首合适的音乐,或者准备一杯温暖的咖啡。2025 年 6 月 9 日,伦敦奥林匹亚会展中心被科技的光芒所笼罩,2025 伦敦科技周盛大启幕,而 “AI 时代的科技” 这一主题,更是如同一颗耀眼的超新星,吸引着全球的目光。
2025-06-12 09:29:24
1265
原创 数据结构:前、中与后缀表达式
常见的表达式表示形式有三种:前缀表达式、中缀表达式和后缀表达式。中缀表达式转后缀表达式是一个重要的操作,通常使用栈来实现。中缀表达式是我们日常使用最频繁的表达式形式,运算符位于两个操作数中间。:把中缀表达式倒过来处理,转换逻辑类似"中缀转后缀",最后再翻回来。:用栈存储运算符,遇到操作数直接扔出去,遇到运算符就和栈顶比优先级。:倒着看后缀表达式,用栈存操作数,遇到运算符就弹出两个操作数组合。:从左到右扫描,遇到运算符就把后面两个操作数用括号包起来。前缀表达式又称波兰表达式,运算符位于操作数之前。
2025-06-12 08:00:00
901
原创 操作系统:分页存储管理方式(精简版、含例题)
分页存储管理是现代操作系统中一种重要的内存管理方式,通过将内存和程序空间划分为等大的“页”和“物理块”,解决了内存碎片问题,提高了内存利用率和系统性能。其核心思想是将程序离散存储于不同的物理块中,避免了连续存储的弊端。分页存储管理适用于多用户多任务系统、大型应用程序及服务器环境。具体实现包括逻辑地址结构、页表、页表寄存器与地址转换、内存分配与回收等。优化技术如快表(TLB)、多级页表和反置页表进一步提升了系统性能。实际操作系统如Windows、Linux、macOS和嵌入式系统均广泛应用了分页存储管理技术。
2025-06-07 18:19:53
1297
原创 计算机组成原理:计算机发展历程
软件的发展与硬件相辅相成。操作系统也从简单的监控程序发展为功能强大的多任务、多用户系统,如UNIX、Windows、Linux等,为计算机的广泛应用奠定了基础。个人计算机(PC)开始普及,计算机性能呈指数级增长,在办公自动化、互联网、多媒体等众多领域得到广泛应用,深刻改变了人们的生活和工作方式。软件则是赋予计算机灵魂的指令集合,包括操作系统、应用软件等,指挥着硬件有序地工作,二者相辅相成,缺一不可。下面,我们将从计算机系统的构成出发,沿着硬件、软件的发展脉络,探寻计算机发展的轨迹,并展望其目前的发展趋势。
2025-06-07 18:15:42
669
原创 计算机组成原理:IEEE 754标准
本文深度解析IEEE 754浮点数标准,介绍了其诞生背景(解决硬件厂商间的兼容性问题)、核心内容(单/双精度存储格式、规范化表示、特殊值处理)和运算规则(加减乘除及舍入方法)。作为计算机科学领域的基础规范,IEEE 754广泛应用于科学计算、图形渲染等领域,并得到编程语言和硬件的全面支持。该标准通过统一浮点数表示方式,确保了计算的精确性和跨平台一致性,对现代计算技术发展至关重要。
2025-05-27 20:35:56
1375
原创 编译原理——语法制导的语义计算
属性文法和翻译模式是编译器中语义分析的核心方法。属性文法通过综合属性(自底向上计算)和继承属性(自顶向下传递)将语法与语义结合,分为S-属性文法(仅综合属性)和L-属性文法(允许继承属性)。翻译模式是属性文法的实现形式,通过嵌入语义动作实现语义计算,S-翻译模式适用于自底向上分析,L-翻译模式支持继承属性的传递。Yacc工具利用LALR(1)算法自动生成语法分析器,通过描述文件定义语法规则、语义动作及优先级,简化编译器开发。二者结合为语义分析和代码生成提供系统化解决方案。
2025-05-27 15:25:38
1084
原创 计算机组成原理:期中测试
3、设某指令系统指令字长为16位,地址码为4位。试设计指令格式,使该系统中有11条三地址指令、70条二地址指令和149条单地址指令。并指明该系统中最多还可以有多少条零地址指令。2、用16K×8位的DRAM芯片构成64K×32位的存储器。地址总线A15~A0(低),双向数据总线D31~D0(低),读/写信号线R/控制读写。1、将十进制数-0.125表示成单精度IEEE754标准二进制存储内容。(2)将地址总线A15~A0中的哪几位分配给存储芯片?(3)写出各个片选信号的逻辑式?(1)计算所需的存储芯片数?
2025-05-27 10:20:25
831
原创 数据结构实验10.2:排序应用
它的第一趟对序列中的所有奇数项i进行扫描,第二趟对序列中的所有偶数项i进行扫描。第三趟又对所有的奇数项,第四趟对所有的偶数项,……,如此反复,直到整个序列全部排好序为止。(3)当待排序序列的排序码初始排列是从小到大有序,或从大到小有序时,在奇偶交换排序过程中的排序码比较次数是多少?5,创建C++程序文件,右击【源文件】——选择【添加】——【新建项】。2,之前创建过项目的话,直接打开即可,这里选择【创建新项目】。4,编辑好项目的名称和存放路径,然后单击【创建】按钮。7,编写代码,单击运行按钮,运行程序。
2025-05-20 09:16:15
1008
原创 数据结构实验10.1:内部排序的基本运算
5,创建C++程序文件,右击【源文件】——选择【添加】——【新建项】。2,之前创建过项目的话,直接打开即可,这里选择【创建新项目】。1,双击Visual Studio程序快捷图标,启动程序。4,编辑好项目的名称和存放路径,然后单击【创建】按钮。6,输入项目名称9-3.cpp,单击【添加】按钮。3,单击选择【空项目】——单击【下一步】按钮。7,编写代码,单击运行按钮,运行程序。2,编写代码测试测试的结果。1,实验要求的测试结果。
2025-05-19 21:36:42
1052
原创 编译原理实验五:LR语法分析器的控制程序
11,创建输出结果的文件par_r.txt,右击【资源文件】——选择【添加】——单击【新建项】。5,选择【C++文件】——输入项目文件名称【shiyan5.cpp】——单击【添加】按钮。7,创建测试文件lex_r.txt,右击【资源文件】——选择【添加】——单击【新建项】。8,这里不选择文件格式,直接输入完整的文件名【lex_r.txt】——单击【添加】按钮。3,选择【空项目】——输入项目名称【shiyan5】——单击【确认】按钮。4,右击【源文件】——选择【添加】——单击【新建项】。
2025-05-17 16:19:12
1164
原创 编译原理实验四:递归下降分析法
3,如果lex_r.txt文件中的内容出现了异常(如下图一样就正常,不用管它),请删除里面异常的内容,重新将上面的内容粘贴到文件中,并保存。3,选择“空项目”——输入diguishiyan项目名称——单击确认按钮,创建项目。11,创建输出结果文件par_r.txt,选择并右击“资源文件”——添加——新建项。8,创建测试文件lex_r.txt,选择并右击“资源文件”——添加——新建项。4,右击“源文件”——选择“添加”——“新建项”,进入创建源文件向导窗口。2,清空par_r.txt文件中的内容,保存文件。
2025-05-14 09:49:58
916
原创 数据结构实验9.3:散列运算的实现
本实验旨在通过编程实现散列表的各项基本操作,包括建立、查找、插入、删除、求长度和输出键值等。实验采用链地址法解决散列冲突,并定义了散列表的数据结构,包括元素类型、链结点类型和散列表类型。实验要求设计基于链地址法的散列表数据结构,并在每项操作后即时输出散列表中的所有键值,以便观察操作结果。此外,实验还要求完善参考程序中的空缺语句,并自行设计测试数据以分析散列表的性能。通过上机调试和测试,记录不同数据下的操作性能,分析散列表在查找、插入和删除操作中的表现,特别是冲突对性能的影响。实验步骤包括启动Visual S
2025-05-14 08:54:44
976
2
原创 数据结构实验9.2:动态查找表的基本操作
本实验旨在通过实践操作,深入理解并掌握静态查找表方法、二叉排序树的构造与操作以及散列表的基本技术。实验内容包括基于给定关键字序列构建二叉排序树,并完成插入、删除、查找等基本操作,同时进行中序遍历输出有序序列。实验要求设计二叉排序树的链式存储结构,分析算法的时间与空间复杂度,并通过上机调试测试程序,验证算法的正确性与效率。示例代码展示了二叉排序树的插入与查找算法的实现,通过逐步查找与比较,确保数据的有序性与查找效率。实验通过理论与实践结合,提升对数据结构与算法的理解与应用能力。
2025-05-11 16:03:36
1340
2
原创 数据结构实验9.1:静态查找表的基本操作
在插入元素时,从第二个元素开始,将当前元素与已排序部分的元素依次比较。若当前元素小于比较元素,则将比较元素后移一位,继续向前比较;使用有序直接插入法,将给定的关键字序列逐个插入到顺序表中,确保顺序表中的元素始终保持有序状态。具体实现时,从第二个元素开始,将每个元素与已排序部分的元素进行比较,找到合适的位置插入,从而构建出有序顺序表。:此算法通过设置监视哨,从表尾开始向前比较,减少了每次循环都要判断是否越界的操作,提高了查找效率。位置),从表尾向前比较,当找到相等元素时,返回其在表中的位置;
2025-05-11 16:02:33
1265
原创 编译原理实验三:利用C语言编程实现TINY语言的词法分析器
4,在实验三目录地址栏中输入cmd,按回车键,启动cmd命令窗口。1,在实验一目录下创建一个txt文件,并将文件名改为。6,产生了一个exe格式的词法分析程序——,测试我们创建并编写好的测试文件——文件中(使用记事本打开)。,生成可执行的词法分析程序。3,创建并编写测试文件。2,将上述代码复制到。
2025-05-07 09:26:44
928
原创 编译原理实验一:词法分析程序自动生成器LEX
LEX源程序*.L通过FLEX编译程序,产生一个C语言版本的词法分析程序*.C。然后通过C语言编译器,将词法分析程序*.C转换成一个可执行文件*.EXE。用生成的词法分析程序的可执行文件,对测试程序进行词法分析.用词法分析自动生成器LEX构造一个简单词法分析器,它能识别文件新行并为其添加行号,并将分析结果发送到屏幕上。1,在实验一目录下创建一个txt文件,并将文件名改为shiyan1.l。4,在实验一目录地址栏中输入cmd,按回车键,启动cmd。3,创建并编写测试文件test.txt。
2025-05-07 08:44:32
1005
原创 数据结构实验8.3:求解AOE网的关键路径
(4)根据各顶点的ve、vl值,求每条弧s的最早开始时间e(s)和最迟开始时间l(s),若某条弧满足条件e(s)=l(s),则为关键活动。(1)输入e条弧<j,k>,建立AOE网的存储结构,顶点数为n,顶点从0开始编号,设源点为v0、汇点为vn-1;如果得到的拓扑有序序列中顶点个数小于网中的顶点数,则说明网中存在环,不能求关键路径,算法终止;(5)设计测试用例,上机调试、测试完善后的参考程序,保存并打印测试结果,对结果进行分析,包括算法效率分析。4,编辑好项目的名称和存放路径,然后单击【创建】按钮。
2025-05-05 09:24:08
921
notepad++安装程序
2024-12-27
Git基础入门学习教程
2023-09-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人