企业级开发
文章平均质量分 94
企业级信息系统开发学习笔记
梁辰兴
深情不及久伴,紘爱无需多言。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
企业培训笔记:外卖平台后端--套餐管理模块--套餐启售停售
套餐的“启售”和“停售”是餐饮系统中控制套餐是否对外展示的核心功能——启售意味着套餐可在前端页面显示并允许用户购买,停售则会将套餐下架(用户无法看到或购买)。通过以上步骤,前端点击“启售”或“停售”按钮后,后端会按“校验(仅启售)→ 更新状态→ 清理缓存”的流程处理,既保证了业务逻辑的严谨性(避免无效启售),又确保了前端数据的实时性。Controller层是前端请求的入口,负责接收前端传递的“操作状态”和“套餐ID”,调用Service层执行逻辑,同时清理缓存(保证前端数据实时性),最终返回结果。原创 2025-10-24 08:45:09 · 1158 阅读 · 0 评论 -
企业培训笔记:外卖平台后端--套餐管理模块--修改套餐信息
修改套餐信息比新建套餐更复杂——不仅要更新套餐的基本信息(如名称、价格、图片),还需同步处理“套餐与菜品的关联关系”(比如用户可能替换套餐里的菜品,或调整菜品数量)。通过以上步骤,前端点击“保存修改”后,后端会完整执行“更新套餐基本信息→清理旧关联→绑定新关联”的逻辑,最终实现套餐信息的正确修改,同时保证数据一致性和缓存时效性。——因为前端提交的修改数据中,不仅有套餐基本信息,还包含“新的关联菜品列表”(比如用户把套餐里的“可乐”换成了“雪碧”),Service实现类是修改套餐的核心,需通过。原创 2025-10-23 10:26:41 · 1202 阅读 · 0 评论 -
企业培训笔记:外卖平台后端--套餐管理模块--新建套餐信息
新建套餐不仅需要保存套餐的基本信息(如名称、所属分类、价格、图片等),还必须同步保存“套餐与菜品的关联关系”(即该套餐包含哪些菜品、每种菜品的数量)。通过以上步骤,前端提交新建套餐的请求后,后端会完整完成“套餐基本信息插入”和“套餐-菜品关联插入”,同时保证数据一致性和缓存时效性,最终实现新建套餐的功能。Mapper接口是数据访问层的入口,新建套餐首先需要定义“插入套餐基本信息”的方法。保证“套餐插入”和“关联菜品插入”同时成功或失败,避免数据不一致(比如套餐插成功了,但关联菜品没插,导致套餐是空的)。原创 2025-10-22 17:01:23 · 1066 阅读 · 0 评论 -
企业培训笔记:外卖平台后端--套餐管理模块--回显套餐信息
- 定义套餐和关联菜品的映射规则,type指定最终封装成SetmealVO --> < resultMap id = " setmealAndDishMap " type = " com.sky.vo.SetmealVO " autoMapping = " true " > <!-- 映射套餐的id(主键),column是数据库字段名,property是SetmealVO的属性名 --> < result column = " id " property = " id " /> <!原创 2025-10-21 10:55:48 · 843 阅读 · 0 评论 -
企业培训笔记:外卖平台后端--套餐管理模块--删除菜品套餐
在外卖管理系统中,删除套餐并非只删除套餐本身,还需处理套餐与菜品的关联数据,同时要避免删除“起售中”的套餐(防止业务异常)。Controller层是前端请求的入口,负责接收前端传递的删除参数、调用Service层执行逻辑,并返回统一的响应结果,同时处理缓存清理(保证数据一致性)。Service层定义业务逻辑的“接口规范”,考虑到前端可能支持“多选删除”(一次删多个套餐),这里定义。(判断是否为“起售中”,起售套餐不允许删除)。该方法用于查询指定ID的套餐信息,核心目的是。的方法,接收多个套餐ID的列表。原创 2025-10-20 13:22:52 · 870 阅读 · 0 评论 -
企业培训笔记:外卖平台后端--菜品管理模块--菜品分页查询
从运行效果来看,页面成功加载出菜品列表,包含菜品的ID、名称、分类、价格、状态等信息,且分类名称(如“热菜”“凉菜”)正确显示(得益于表关联查询),分页功能正常——这说明整个菜品分页查询流程已完全实现。接口,将分页查询的业务能力抽象出来,解耦Controller(前端请求层)和Mapper(数据访问层)。接口的具体实现类,负责“实际执行业务逻辑”——这里主要是调用分页插件和Mapper接口,完成分页查询。Service层是业务逻辑层,负责封装“怎么处理业务”,对外提供统一的业务接口。原创 2025-10-19 08:46:08 · 1288 阅读 · 0 评论 -
企业培训笔记:宠物信息管理--实现宠物信息的删除
有了删除方法的声明,还需要编写具体的SQL语句来执行删除操作。这就像有了指令,还得有执行指令的具体步骤。--实现宠物信息删除--> < delete id = " deletePetMapper " parameterType = " java.lang.Integer " > delete from pet where id=#{id} </ delete >原创 2025-09-05 12:22:20 · 787 阅读 · 0 评论 -
企业培训笔记:宠物信息管理--实现宠物信息的更新
在宠物管理系统中,除了新增宠物信息外,更新已有宠物的信息也是核心功能之一。本文将详细介绍从后端接口开发到前端交互实现的完整流程,带你一步步完成宠物信息的更新功能。Mapper接口中的抽象方法需要通过XML文件编写具体的SQL逻辑来实现数据库交互。对于宠物信息更新功能,我们需要在中定义UPDATE语句,并通过动态SQL实现灵活的字段更新。原创 2025-08-21 01:03:30 · 1140 阅读 · 0 评论 -
企业培训笔记:宠物信息管理--实现宠物信息的添加
在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 · 368 阅读 · 0 评论 -
企业培训笔记:宠物信息管理--实现宠物信息分页查询
基于SpringBoot+MyBatis+Vue3+Element Plus UI的前后端分离项目,实现对后台数据库中的宠物信息,在Vue前端页面可视化的进行数据呈现、删除、修改与添加。原创 2025-07-14 19:23:52 · 960 阅读 · 0 评论 -
企业培训笔记:Vue3前端框架配置
Vue3 开发环境搭建指南 本文详细介绍了Vue3框架的特性与开发环境配置流程。Vue3采用Proxy重构响应式系统,优化虚拟DOM,引入组合式API,显著提升性能与开发体验。环境搭建部分包含Node.js下载安装、镜像源配置、Idea项目导入等步骤,重点演示了Vue插件安装和npm运行配置方法。通过serve命令启动项目后,可成功访问默认Vue3界面。该指南为开发者提供了从零开始构建Vue3开发环境的完整解决方案。原创 2025-07-11 22:07:06 · 1621 阅读 · 0 评论 -
企业培训笔记: Mybatis 懒加载机制
MyBatis 的懒加载(Lazy Loading)是一种优化策略,允许在需要关联对象时再进行数据库查询,而非在主查询时立即加载所有关联数据。这种机制特别适用于一对多或多对多关系,可以显著提升查询性能。原创 2025-07-10 07:16:44 · 1242 阅读 · 0 评论 -
企业培训笔记: Mybatis实现多表查询输出映射
在实际开发中,业务场景往往需要关联多个数据库表进行查询,MyBatis 提供了灵活的多表查询输出映射机制,能够将多张表的数据映射到复杂的 Java 对象中。原创 2025-07-10 07:14:10 · 950 阅读 · 0 评论 -
企业培训笔记:MyBatis的输出映射
MyBatis 中的输出映射(Result Mapping)是指将 SQL 查询结果映射到 Java 对象的过程。当执行数据库查询后,MyBatis 需要将返回的结果集(ResultSet)转换为对应的 Java 对象,这个转换规则的定义就是输出映射。原创 2025-07-08 08:23:56 · 1116 阅读 · 0 评论 -
企业培训笔记:SpringBoot+MyBatis项目中实现动态SQL操作
动态 SQL 是 MyBatis 的核心特性之一,允许你在 XML 或注解中编写灵活的 SQL 语句,根据不同条件动态生成 SQL。它通过标签(如ifwhereforeachifwhereforeach等)和 OGNL 表达式实现条件判断、循环等逻辑,避免硬编码 SQL,提高代码复用性和可维护性。可替代<where><set>,通过属性灵活控制前缀、后缀。原创 2025-07-08 08:23:06 · 1091 阅读 · 0 评论 -
企业培训笔记:SpringBoot+MyBatis项目中实现分页查询
PageHelper 是一款针对 MyBatis 框架的开源分页插件,由国内开发者开发,旨在简化 MyBatis 中分页查询的开发流程。它通过拦截 SQL 执行过程,自动对查询语句进行分页处理,无需手动编写复杂的分页 SQL,极大提升了开发效率。-- 分页查询宠物信息 --></select>原创 2025-07-02 11:06:25 · 1035 阅读 · 0 评论 -
企业培训笔记: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 · 896 阅读 · 0 评论 -
使用IDEA2022.2.2 创建简易的JavaWeb项目
进入Tomcat配置页面,此时单击浏览目录按钮,找到本地的Tomcat安装路径,例如:D:\Program Files\Apache Software Foundation\Tomcat 9.0,然后单击确认。5,将java文件夹标记为source root,后续才能正常使用(如果创建java文件夹时,出现上图界面则直接单击下面的蓝色java,即可直接创建,不用再去标记)。3,设置好项目名称,存放路径,jdk版本,项目模板,最后单击create按钮,创建项目。4,下面的就是需要的依赖,拷贝到剪贴板。原创 2024-10-25 16:36:45 · 2214 阅读 · 0 评论 -
Spring Boot整合Redis
Redis是一个开源(BSD许可)的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件,并提供多种语言的API。Redis支持多种类型的数据结构,如 字符串(strings)、散列(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)与范围查询、bitmaps、 hyperloglogs 和 地理空间(geospatial)、索引半径查询。原创 2023-06-16 12:36:48 · 26189 阅读 · 0 评论 -
Spring Boot整合MyBatis
在开发中,通常会涉及到对数据库的数据进行操作,Spring Boot在简化项目开发以及实现自动化配置的基础上,对关系型数据库和非关系型数据库的访问操作都提供了非常好的整合支持。Spring Boot默认采用整合SpringData的方式统一处理数据访问层,通过添加大量自动配置,引入各种数据访问模板xxxTemplate以及统一的Repository接口,从而达到简化数据访问层的操作。Spring Boot提供的常见数据库依赖启动器名称对应数据库。原创 2023-06-13 19:51:45 · 13216 阅读 · 3 评论 -
Spring Boot整合JPA
创建文章仓库接口ArticleRepository/*** 功能:文章仓库接口* 日期:2023年06月13日* 作者:梁辰兴/*** 根据文章ID进行分页查询评论* nativeQuery = true, 表示使用原生SQL语句,否则使用HQL语句* @param aId 查询条件字段(文章编号)* @param pageable 可分页对象,分页查询需要该参数* @return 返回page对象,包含page的相关信息及查询结果集/*** 根据文章ID进行分页查询评论。原创 2023-06-13 19:49:01 · 4250 阅读 · 0 评论 -
Spring Boot Application.properties和yaml配置文件
全局配置文件能够对一些默认配置值进行修改。Spring Boot使用一个application.properties或者application.yaml的文件作为全局配置文件,该文件存放在src/main/resource目录或者类路径的/config,一般会选择resource目录。原创 2023-06-04 19:14:41 · 6176 阅读 · 0 评论 -
Spring Boot 加载自定义配置文件
Spring Boot免除了项目中大部分的手动配置,对于一些特定情况,我们可以通过修改全局配置文件以适应具体生产环境,可以说,几乎所有的配置都可以写在application.peroperties或application.yaml文件中,Spring Boot会自动加载全局配置文件从而免除我们手动加载的烦恼。但是,如果我们自定义配置文件,Spring Boot是无法识别这些配置文件的,此时就需要我们手动加载。使用Spring Initializr创建Spring Boot项目——ConfigDemo01。原创 2023-06-04 19:13:07 · 4603 阅读 · 0 评论 -
Spring Boot 多环境配置
不同的环境可能需要不同的环境配置,针对这种情况,不可能手动变更配置文件来适应不同的开发环境,通常需要对项目进行多环境配置,Spring Boot框架提供了两种多环境配置的方式,分别是Profile文件多环境配置和@Profile注解多环境配置。在net.army.boot.config包里创建impl子包,在子包里创建MySQLConfig类。在net.army.boot里创建config子包,在子包里创建DatabaseConfig接口。原创 2023-06-06 23:05:11 · 9735 阅读 · 1 评论 -
Spring Boot 热部署
在开发过程中,通常会对一段业务代码不断地修改测试,在修改之后往往需要重启服务,有些服务需要加载很久才能启动成功,这种不必要的重复操作极大地降低了程序开发效率。为此,Spring Boot框架专门提供了进行热部署的依赖启动器,用于进行项目热部署,而无需手动重启项目。原创 2023-05-23 19:05:17 · 11113 阅读 · 6 评论 -
Spring Boot 单元测试
在实际开发中,每当完成一个功能接口或业务方法的编写后,通常都会借助单元测试验证该功能是否正确。Spring Boot对项目的单元测试提供了很好的支持,在使用时,需要提前在项目的pom.xml文件中添加spring-boot-starter-test测试依赖启动器,可以通过相关注解实现单元测试。原创 2023-05-23 19:32:09 · 12280 阅读 · 1 评论 -
Spring Initializr方式构建Spring Boot项目
总结:使用Spring Boot框架实现Web功能,比在Spring框架里使用Spring MVC实现Web功能简洁很多,不需要Spring配置文件、Spring MVC配置文件,也不需要配置web.xml文件,只要添加了Web依赖,直接就可以使用控制器来进行相应的处理,比如返回字符串数据。在static目录里创建images目录,然后在images目录里放一张图片 - bear.jpg。在static目录里创建css目录,在css目录里创建index.css样式表文件。创建登录页面login.html。原创 2023-05-23 11:46:11 · 7582 阅读 · 0 评论 -
Maven方式构建Spring Boot项目
注意:控制器添加注解符@RestController,该注解为组合注解,等同于Spring中@Controller+@ResponseBody注解。控制器是用于Web访问的,在net.army.boot包里创建controller子包,然后在子包里创建控制器HelloController。创建net.army.boot包,在包里创建启动类HelloWorld01Application。启动应用,查看效果,可以看到,项目启动标语消失了。启动应用程序,查看启动标语。单击【Create】按钮。原创 2023-05-23 10:33:43 · 10939 阅读 · 1 评论 -
XML配置方式SSM框架西蒙购物网
1、只有注册用户成功登录后才可查看商品类别,查看商品,选购商品,生成订单、查看订单2、只有管理员才有权限进入购物网后台管理(用户管理 + 类别管理 + 商品管理 + 订单管理)分层架构:展现层(JSP)控制层(Controller)业务层(Service)数据映射层(Mapper)数据库(DB)数据库simonshop,采用utf8mb4编码单击【确定】按钮创建用户表t_user执行命令:插入4条记录执行命令:3、创建类别表创建类别表结构 - t_categor原创 2023-05-23 09:57:27 · 1247 阅读 · 0 评论 -
Java配置类整合SSM框架实现用户登录
在net.army.ssm根包里创建config子包,然后在子包里创建SpringConfig类(作用相当于spring-config.xml)在resources里创建static目录,在static里创建images,用来存放图片资源 - bear.jpg。在net.army.ssm根包里创建controller子包,然后在子包里创建UserController类。在net.army.ssm根包里创建service子包,然后在子包里创建UserService类。原创 2023-05-21 20:55:35 · 2595 阅读 · 0 评论 -
XML配置方式整合SSM框架实现用户登录
在用户登录页面添加跳转到用户注册页面的超链接用户注册要进行用户名和密码的非空校验用户注册失败,弹出警告框提示用户用户注册成功,就跳转到用户登录页面用新注册的用户进行登录测试。原创 2023-05-21 20:07:00 · 1247 阅读 · 1 评论 -
Java配置方式使用Spring MVC:实战练习
对应的就是spring-mvc-config里的注意:SpringMvcConfig类必须要实现WebMvcConfigurer接口/*** 作者:梁辰兴* 日期:2023/5/11* 功能:Spring MVC配置类。原创 2023-05-16 13:41:40 · 902 阅读 · 0 评论 -
Java配置方式使用Spring MVC
上一节,我们学习了如何基于XML配置与注解的方式使用Spring MVC,涉及到三个XML配置文件:Spring配置文件(spring-config.xml)、Spring MVC配置文件(spring-mvc-config.xml)、Web部署描述文件(web.xml),这一节,我们通过案例学习如何基于Java配置类与注解的方式使用Spring MVC,只有Java配置类,没有XML配置文件。Maven项目 - SpringMvcDemo02在pom.xml文件里添加相关依赖单击刷新按钮,下载(更新原创 2023-05-16 13:41:04 · 2493 阅读 · 4 评论 -
XML配置方式使用Spring MVC:实战练习
说明:项目启动后,跳转到首页,然后从首页跳转到登录页面,都是通过登录控制器里的跳转方法实现的,跳转方法里没有任何业务逻辑,只是一条return语句负责页面跳转,我们有更为简单的方法来取代,即利用利用Spring MVC配置文件实现快捷页面跳转。在WEB-INF里创建css目录,在里面创建样式文件index.css,负责首页的样式(元素全部居中,设置页面背景颜色,去掉超链接的下划线……单击【跳转到登录页面】超链接,跳转到了登录页面(说明Spring MVC配置文件里的第二个视图控制器也生效了)原创 2023-05-11 11:48:03 · 923 阅读 · 0 评论 -
采用Spring配置文件管理Bean
Spring容器其实就是一个Bean工厂,在工厂里通过配置文件或配置类创建各种各样的Bean,然后在Spring应用程序就可以按照名称或类型获取工厂里已经配置好的Bean。下面我们就通过一个具体的案例来了解Spring容器是如何工作的。注意,name属性值一定是BraveKnight类的属性名,ref属性值是已定义的杀龙任务Bean的id值。代码说明:首先通过Spring配置文件创建Spring应用容器,然后就可以利用容器的getBean方法通过名称获取容器里的Bean对象,然后调用该对象的方法。原创 2023-02-15 17:29:40 · 495 阅读 · 0 评论 -
XML配置方式使用Spring MVC
右击【net.army.spring.controller】包,选择【new】,单击【java class】右击【views】,选择【new】,单击【JSP/JSPX】,在输入login,按下回车即可创建成功。右击【net.army.spring】包,选择【new】,单击【package】选择所有的文件,然后右击,单击【Put into / WEB-INF/lib】右击【WEB-INF】,选择【new】,单击【Directory】单击【+】-【Tomcat server】-【local】原创 2023-03-21 12:15:50 · 2286 阅读 · 0 评论 -
使用MyBatis实现简单查询
注意:UserMapper接口的完整路路径(包名+接口名)必须是元素的namespace属性值 net.huawei.mybatis.mapper.UserMapper,并且里面定义的方法名必须与UserMapper.xml里定义的SQL语句的id值保持一致,比如 findById、findAll。在test/java里创建net.huawei.mybatis.mapper包,然后在包里创建测试类 - TestUserMapper。运行测试方法testFindById(),查看结果。原创 2023-04-18 09:46:37 · 1741 阅读 · 0 评论 -
使用MyBatis实现CRUD操作
使用MyBatis查询表记录使用MyBatis插入表记录使用MyBatis更新表记录使用MyBatis删除表记录。原创 2023-04-18 10:41:41 · 1478 阅读 · 0 评论 -
使用MyBatis实现关联查询
注意:toString()方法里,输出的不是教师实体类的完整信息,而是教师姓名,通过teacher.getName()获取。在test/java目录的net.army.mybatis.mapper包里创建TestClazzMapper类。在net.army.mybatis.bean包里创建Teacher类。在net.army.mybatis.bean包里创建Student类。在net.army.mybatis.bean包里创建Clazz类。要求查询的班级信息只带老师的信息,不带学生信息。原创 2023-04-18 11:25:06 · 2534 阅读 · 0 评论 -
使用MyBatis实现条件查询
在test/java的net.huawei.mybatis.mapper包里创建TestStudentMapper类。运行测试方法testFindByCondition(),查看结果。运行测试方法testFindByCondition(),查看结果。运行测试方法testFindByCondition(),查看结果。运行测试方法testFindByCondition(),查看结果。比如查询姓“吴”,性别为“女”,同时年龄为19的学生记录。注意:注意:通配符%与_的区别。修改测试方法里的查询条件。原创 2023-04-18 11:43:39 · 2777 阅读 · 0 评论
分享