自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaWeb——案例(2/20)-部门管理-查询(功能概述、查询需求、接口文档、Controller 层、Service 层、Mapper 层、日志记录、接口测试)

本功能主要实现查询部门列表,并返回全部部门数据,不涉及分页操作。明确查询需求。阅读接口文档,分析接口。根据开发流程实现代码。查询全部部门,不分页。接口路径/depts,请求方式 GET。Controller 调用 Service,Service 调用 Mapper,遵循三层架构。使用 SLF4J 记录日志,方便调试。通过 Postman 测试接口,确保返回正确数据。END学习自:黑马程序员——javaWeb课程。

2025-04-02 08:00:00 183

原创 JavaWeb——Mybatis-动态SQL(3/3)-sql&include(核心功能、应用场景示例、实现步骤、标签属性详解、高级用法、注意事项、测试与验证)

核心价值<sql>和<include>是 MyBatis 中优化代码复用性的关键标签。适用场景公共字段列表、表名、动态条件等高频重复片段。避坑指南refid必须与<sql>的id完全一致,否则报错。避免过度抽取,保持代码简洁性。END学习自:黑马程序员——JavaWeb课程。

2025-03-30 08:00:00 754

原创 JavaWeb——案例(1/20)-准备工作(案例目标、环境搭建、三层架构搭建、规范要求)附带SQL脚本

本案例基于 Spring Boot 开发,实现部门管理和员工管理两大功能模块。通过搭建 Spring Boot 项目、配置数据库表结构、引入必要依赖(如 MyBatis、MySQL 驱动、Lombok),并按照三层架构(Controller、Service、Mapper)组织代码,完成部门与员工的增删改查功能。开发过程中遵循 Restful API 设计规范,使用统一响应结果(Result)标准化接口输出,并通过接口文档确保前后端高效协作。

2025-03-29 17:55:42 991

原创 JavaWeb——Mybatis-动态SQL(2/3)-foreach(概述、需求分析、传统 SQL 方式、MyBatis foreach 标签的作用、关键属性解析)

MyBatis 的foreach标签用于在 SQL 语句中循环遍历集合,常见于批量操作(如批量删除、批量插入)。它允许我们动态构建 SQL 语句,从而提高开发效率。foreach标签适用于批量操作,减少 SQL 语句的重复,提高灵活性。自动处理 SQL 语法问题(如分隔符、()括号等),避免 SQL 语法错误。代码更简洁易维护,适用于 MyBatis 中集合数据的动态拼接。推荐在批量操作中使用foreach,以提升 SQL 语句的动态性和可读性END学习自:黑马程序员——JavaWeb课程。

2025-03-28 08:00:00 360

原创 JavaWeb——Mybatis-动态SQL(1/3)-if及案例(概述、if 语句的作用、基本用法、语法解析、实际应用,案例介绍、需求分析、现有问题分析、代码改造:使用 if 实现动态更新)

MyBatis 的<if>语句是动态 SQL 处理的基础,能有效避免冗余代码,提高 SQL 语句的灵活性和可维护性。在实际开发中,合理使用if语句可以提高查询效率,使 SQL 更加灵活。本案例旨在加强对 MyBatisif标签的理解,并通过动态更新员工信息的实际案例,展示if标签在 SQL 语句中的灵活应用。if标签使 SQL 语句动态化,仅在必要时拼接字段。set标签处理UPDATE语句的SET 关键字及多余逗号问题。动态 SQL 提高了查询的灵活性,有效避免静态 SQL 带来的数据更新问题。👉。

2025-03-26 08:00:00 625

原创 JavaWeb——Mybatis-XML映射文件(概述、XML 映射文件的规范、XML 映射文件结构、MyBatis X 插件介绍)

XML 映射文件是 MyBatis 主要的 SQL 配置方式之一,用于存储 SQL 语句并将其与 Mapper 接口关联。安装 MyBatis X在 IDEA 中打开Plugins搜索MyBatis X点击Install并启用插件快速跳转功能在EmpMapper接口方法前的小鸟图标 🐦点击可跳转到对应的 SQL 语句在 XMLselect语句前点击小鸟图标,可跳转到对应的 Mapper 方法XML 映射文件的核心要点文件命名一致namespace需匹配全类名SQLid需匹配方法名。

2025-03-24 08:00:00 1304

原创 JavaWeb——Mybatis-基础操作(4/4)-查询(根据ID查询、条件查询功能、数据封装问题、模糊查询的特殊处理与问题解决)

聚焦 MyBatis 在员工管理系统的查询功能。在根据 ID 查询方面,详述了从需求、SQL 编写到接口实现及数据封装问题与解决策略。条件查询部分,涵盖需求、SQL 构建、MyBatis 实现过程与模糊查询处理,推荐用 CONCAT 函数保障安全预编译。还介绍了 MyBatis 参数传递在 Spring Boot 不同版本的差异,早期需 @Param 注解,2.x 版本因编译插件可直接用形参名,为相关应用提供关键参考。

2025-03-22 08:00:00 877

原创 JavaWeb——Mybatis-基础操作(3/4)-更新(更新员工信息功能需求分析与 SQL 语句编写、MyBatis 中更新员工信息功能的实现步骤)

在实现更新员工信息功能时,需先确定合适的UPDATESQL 语句,明确更新条件(通常为主键 ID)和要更新的字段。在 MyBatis 中,通过定义接口方法并使用@Update注解指定 SQL 语句来实现功能,对于多参数情况,采用实体对象封装参数,并在 SQL 语句中正确使用#{}占位符获取属性值(注意属性名的命名规范)。单元测试是确保功能正确性的关键步骤,通过测试验证 SQL 语句执行、参数传递和数据更新的有效性,保证系统能准确响应用户的修改操作,维护数据的准确性和及时性。

2025-03-20 08:00:00 823

原创 JavaWeb——Mybatis-基础操作(2/4)-新增、主键返回功(Mapper 接口方法定义、方法参数设置、单元测试编写与执行)

在开发新增员工功能时,首先要根据需求编写正确的INSERTSQL 语句,明确哪些字段需要插入数据,哪些字段有特殊处理(如自动增长、默认值等)。在 MyBatis 中,通过定义接口方法并使用相应注解指定 SQL 语句来实现功能,对于多参数情况,优先选择将参数封装到实体类中传递,在 SQL 语句中使用#{}占位符获取实体类属性值时,务必保证属性名的正确性(采用驼峰命名),以确保数据准确插入到数据库。在单元测试中,修改要插入的数据(如将员工姓名从Tom改为Tom3),再次执行插入操作并查看输出结果。@Test。

2025-03-18 08:00:00 918

原创 JavaWeb——Mybatis-基础操作(1/4)-环境准备、删除操作、SQL注入(查看 MyBatis 执行 SQL 语句的方法与预编译 SQL 介绍、预编译 SQL 防范 SQL 注入)

MyBatis 基础操作案例需求与环境准备概述本部分围绕 MyBatis 基础操作展开,首先依据 tlias智能学习辅助系统 员工管理模块的页面原型及需求,明确要实现员工信息的增删改查功能,包括条件分页查询、新增、编辑(查询回显与更新)、单条及批量删除等操作。随后进行环境准备工作,为后续具体操作奠定基础,这是实现功能的前置关键步骤。开启 MyBatis 日志查看执行语句在配置文件中配置 MyBatis 日志信息并指定输出到控制台,以便查看框架底层执行的 SQL 语句。可通过输入关键字(如。

2025-03-16 08:00:00 767

原创 JavaWeb——Mybatis-入门(6/6)-lombok工具包介绍(概述与常用注解、在项目中使用 Lombok、Lombok 原理、使用 Lombok 的注意事项)

功能简介Lombok 是一个实用的 Java 库,通过简单注解自动生成实体类中常用方法,如构造器、getset方法、equalshashCode方法、toString方法等,还能自动生成日志变量,简化 Java 开发过程,提高开发效率。常用注解介绍注解作用为所有的属性提供get/set方法@ToString会给类自动生成易阅读的toString方法根据类所拥有的非静态字段自动重写equals方法和hashCode方法@Data。

2025-03-14 08:00:00 843

原创 JavaWeb——Mybatis-入门(5/6)-数据库连接池(概述、优势、实现与常用产品、在 Spring Boot 项目中切换数据库连接池(以切换到 Druid 为例))

定义与作用数据库连接池类似于线程池,是一个存储数据库连接对象(Connection)的容器,负责连接对象的分配与管理。其核心作用是避免频繁创建和销毁数据库连接,通过复用连接来提高资源利用率、提升系统响应速度,并防止因连接未及时释放导致的资源耗尽问题。在应用程序与数据库交互过程中,若没有连接池,每次执行 SQL 语句都需新建连接、用完后关闭,资源开销大;有连接池时,程序启动时初始化一定数量连接,客户端执行 SQL 语句从池中获取连接,执行完归还,实现连接复用。

2025-03-12 08:00:00 1100

原创 JavaWeb——Mybatis-入门(4/6)-JDBC(概述、JDBC 操作数据库步骤、JDBC 存在的问题、MyBatis 对 JDBC 问题的解决)

通过对比可知,MyBatis 在简化开发、提高性能和增强可维护性等方面具有显著优势,完胜原始的 JDBC 编程方式。在使用 Spring Boot 整合 MyBatis 进行数据库操作时,开发者主要关注两个方面:一是等配置文件中 MyBatis 的相关配置,确保数据库连接信息正确以及其他相关配置符合项目需求;二是 Mapper 接口和定义的 SQL 语句,在 Mapper 接口中合理定义数据库操作方法,并通过注解或 XML 配置准确编写 SQL 语句,以实现业务逻辑所需的数据库功能。

2025-03-10 08:00:00 541

原创 JavaWeb——Mybatis-入门(3/6)-配置SQL提示(配置 SQL 提示步骤、建立 IDEA 与数据库连接以获取表信息提示)

在 MyBatis 开发中,如之前入门程序里在UserMapper接口方法的@Select注解中定义 SQL 语句时,。这导致,只有程序运行时才会报错,极大影响开发效率且易引入错误,因此。

2025-03-08 08:00:00 471

原创 JavaWeb——Mybatis-入门(2/6)-快速入门程序(创建 Spring Boot 工程、引入 MyBatis 依赖并配置、定义 Mapper 接口、进行单元测试)

通过一个简单需求(使用 MyBatis 查询所有用户数据),学习 MyBatis 操作数据库的基本流程与开发步骤,包括准备工作、引入依赖并配置、编写 SQL 语句、进行单元测试等环节,体验 MyBatis 如何简化数据库操作,实现数据查询功能,为后续深入学习奠定基础。 使用 MyBatis 查询数据库中所有用户数据,首先需明确此需求对应的 SQL 语句这是后续操作的基础,体现了从需求到数据库操作的转化。 在图形化界面工具(如 IDEA 连接数据库插件或 DataGrip)

2025-03-06 08:00:00 677

原创 JavaWeb——Mybatis-入门(1/6)-介绍(MyBatis 引入背景、MyBatis 概述、MyBatis 历史发展、MyBatis学习总览)

MyBatis 定义与定位定义MyBatis 是一款优秀的持久层框架,专注于数据持久化操作,即将数据在内存与数据库之间进行存储、读取和管理,确保数据持久存储且能高效访问。定位在 Web 开发的三层架构(控制层、业务逻辑层、数据访问层)中,MyBatis 主要用于数据访问层(DAO 层),负责与数据库交互,执行数据的增删改查等操作,是连接 Java 程序与数据库的重要桥梁。MyBatis 与 JDBC 的关系JDBC 规范介绍。

2025-03-04 08:00:00 679

原创 JavaWeb——MySQL-索引(3/3)-操作语法(索引操作语法概述、创建索引、查看索引、删除索引)

索引操作语法主要包括创建索引、查看索引和删除索引三部分,是数据库中管理索引的关键操作,对优化查询性能、合理组织数据结构具有重要意义。

2025-03-02 08:00:00 1068

原创 JavaWeb——MySQL-索引(2/3)-结构(MySQL 索引结构概述、B + 树索引结构详解、B + 树索引结构总结与要点强调)

B + 树索引结构特点总结B + 树索引具有多路特性,节点可存储多个 key 与指针,降低树高度;数据存储于叶子节点,保证查询性能稳定;叶子节点双向链表有序排列,便于排序与区间查询。这些特点使其成为 MySQL 中高效的索引结构,适用于大规模数据存储与快速查询场景。理解与掌握要点理解 B + 树索引结构时,重点关注其与二叉树结构的区别及优势,掌握查询过程中如何通过节点对比与指针跳转定位数据。

2025-02-28 08:00:00 492

原创 JavaWeb——MySQL-索引(1/3)-介绍(索引引入与查询效率提升案例、索引概念与原理阐释、索引优缺点分析)

以用户表(包含ID、、等字段)为例,若未创建索引,执行查询语句(如)时,数据库需从表的第一条记录开始,逐个检查记录的字段值是否等于 45,若不相等则继续检查下一条记录,直至找到符合条件记录,若字段值不唯一,还需继续查找直至表末尾,此过程类似在无目录书籍中查找特定章节内容,需逐页翻阅,效率极低。 若为字段创建索引,数据库会构建类似二叉搜索树的数据结构。在构建过程中,每个节点关联原始数据记录,且满足二叉搜索树特性,即左子树节点值小于根节点值,右子树节点值大于根节点值。 例如,对于节点

2025-02-26 08:00:00 854

原创 JavaWeb——MySQL-事务(2/2)-四大特性(原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability))

事务知识要点回顾事务定义理解事务是一组操作集合,作为不可分割工作单位,所有操作整体提交或撤销,确保操作原子性,维护数据一致性。事务操作掌握事务操作包含开启(或BEGIN)、提交(COMMIT)和回滚(ROLLBACK开启事务后执行操作,全部成功则提交使修改永久生效,有操作失败则回滚恢复数据到初始状态。事务特性把握事务四大特性 ACID(原子性、一致性、隔离性、持久性)相互关联、协同作用,保证数据在事务处理过程中的正确性、完整性、独立性和可靠性。原子性是基础,确保操作不可分割;

2025-02-24 08:00:00 1321

原创 JavaWeb——MySQL-事务(1/2)-介绍与操作(事务定义与特性阐述、事务操作实践与案例演示)

事务定义阐释事务是一组操作集合,作为不可分割工作单位,将所有操作整体提交或撤销请求,确保操作要么同时成功,要么同时失败。如解散部门操作中的删除部门和删除员工操作应视为一个事务,保证数据操作一致性与完整性。事务特性介绍(ACID)原子性(Atomicity):事务中所有操作不可分割,要么全部执行成功,要么全部失败回滚。如解散部门事务,删除部门和员工操作必须作为整体,任何一个操作失败,整个事务应回滚到初始状态,保证数据一致性。一致性(Consistency):事务执行前后,数据应保持一致状态。

2025-02-22 08:00:00 899

原创 JavaWeb——MySQL-多表查询(7/7)-案例2(分组聚合与筛选、多表关联查询、子查询运用、多表查询总结与要点回顾)

多表查询语法总结连接查询内连接:隐式内连接在FROM后罗列表并用逗号分隔,在WHERE后指定连接条件;显示内连接用连接表,ON后设连接条件,INNER可省略。外连接:含左外与右外连接。左外连接以左表为基准含左表全部及交集数据,用;右外连接以右表为基准含右表全部及交集数据,用OUTER可省略,项目中常用左外连接,右外连接可通过交换表位置转换为左外连接。子查询:在SELECT语句嵌套SELECT。

2025-02-20 08:00:00 739

原创 JavaWeb——MySQL-多表查询(6/7)-案例1(案例准备与表关系梳理多表查询需求实现:六道实际应用题以及测试数据)

分类表存储菜品与套餐分类,菜品表含菜品详细信息及分类 ID 关联分类表,套餐表有套餐信息及分类 ID 关联分类表,套餐菜品关系表维护套餐与菜品多对多关系,含套餐 ID、菜品 ID 及份数字段。执行查询获套餐及包含菜品信息,套餐下菜品信息完整,无套餐或菜品信息缺失,结果正确,满足查询所有套餐及菜品详细信息需求。用左外连接依次关联套餐表、套餐菜品关系表与菜品表,设连接条件,指定返回字段(套餐名称、菜品名称、价格、数量)。先以别名连接两表,设连接条件,添加价格筛选条件,指定返回字段(菜品名称、价格、分类名称)

2025-02-18 08:00:00 853

原创 JavaWeb——MySQL-多表查询(5/7)-子查询(行、表)(行子查询实践、表子查询应用、子查询总结与深化理解)

子查询类型回顾与特点总结行子查询返回单行多列数据,依业务需求用IN等运算符与外部查询条件匹配,实现基于多列条件的数据筛选,优化时注意合并条件减少子查询执行次数提升性能。表子查询返回多行多列数据,作临时表在FROM子句与其他表关联,实现复杂连接查询,常用于需子查询结果集参与多表关联场景,为数据整合提供强大支持。子查询在多表查询中的价值与应用场景子查询为多表查询关键技术,增强查询逻辑表达力与灵活性,可依不同业务需求与关联条件实现复杂数据检索与分析。

2025-02-16 08:00:00 428

原创 JavaWeb——MySQL-多表查询(4/7)-子查询(标量、列)(子查询定义阐释、类型细分,标量子查询实践、列子查询应用,总结与要点回顾)

子查询功能价值总结子查询为 SQL 查询增添强大灵活性与逻辑表达力,通过嵌套实现复杂条件构建与数据筛选,可依不同业务需求返回不同类型结果(标量、列、行、表),为数据检索提供丰富手段,适应多变业务场景与数据处理需求。查询构建与优化思路解决复杂查询问题时,可将其分解为多个简单子查询分步处理,降低难度、提高可读性与维护性,最后依逻辑关系合并子查询构建完整查询语句,优化数据检索过程,提升查询效率与准确性。运算符与条件匹配注意不同类型子查询适用运算符不同,标量子查询用比较运算符,列子查询常用IN。

2025-02-14 08:00:00 798

原创 JavaWeb——MySQL-多表查询(3/7)-外连接(语法解析、实践应用)

FROM子句指定左表,用连接右表,OUTER可省略,ON子句设连接条件。如SELECT *以左表为基,含左表全部及与右表交集数据,确保左表数据完整性,适用于需保留主表全部记录场景,如查询员工及对应部门信息,保证员工信息完整展示,为数据关联分析提供全面视角。FROM子句指定左表,连接右表,OUTER可省略,ON子句设连接条件。如SELECT *以右表为基,含右表全部及与左表交集数据,突出右表数据完整性,在特定业务场景(如以部门为核心查询员工信息)确保相关数据完整呈现,为数据分析提供全面支持。

2025-02-12 08:00:00 596

原创 JavaWeb——MySQL-多表查询(2/7)-内连接(语法剖析、实战演练)

​别名定义与使用为简化查询语句、提升可读性,可给表起别名。如FROM tb_emp e, tb_dept d WHERE e.dept_id = d.id,分别为员工表与部门表起别名e与d。后续查询条件与返回字段用别名代替表名,如SELECT e.name, d.nameFROM tb_emp e, tb_dept dWHERE e.dept_id = d.id;使代码简洁紧凑,尤其适用于表名长或多表连接复杂场景,增强代码可维护性与开发效率。注意事项

2025-02-10 08:00:00 537

原创 JavaWeb——MySQL-多表查询(1/7)-概述(多表查询准备、笛卡尔积现象、消除无效笛卡尔积与多表查询分类)

于图形化工具(如 IDEA)全选复制脚本内容后粘贴执行,于指定数据库创建部门表(dpt)与员工表(emp)及插入测试数据。部门表含基础字段与部门名称字段,员工表含基础字段及关联部门表主键的外键字段dept_id,构建一对多关系模型,为多表查询演练提供数据支撑。

2025-02-08 08:00:00 404

原创 Node.js——构建WEB应用(HTTP模块:response、request ,url 模块 ,path模块)

HTTP模块概念HTTP模块:Node.js的核心模块,用于创建HTTP服务器,实现浏览器与Web 服务器之间的请求与响应。引入方式:const http=require("http");

2025-02-06 08:00:00 1115

原创 Node.js——Buffer和文件系统(Buffer 缓存区、fs 文件操作:异步模式下写入读取文件,Stream 流 )

JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。但在处理像TCP或文件时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。Buffer (缓存区或者缓冲区),是一个类似于Array的对象, 用于表示固定长度的字节序列. 主要处理文件流和二进制数据流Buffer 也可以理解为固定长度的内存空间。

2025-02-04 08:00:00 1009

原创 Node.js——异步编程(异步:阻塞与非阻塞、JavaScript执行机制、callBack hell 回调地狱,Promise、Async await)

由于p2返回的是另一个 Promise,导致p2自己的状态无效了,由p1的状态决定p2的状态。另外,Promise.all()方法的参数可以不是数组,但必须具有 Iterator 接口,且返回的每个成员都是 Promise 实例。p1、p2、p3都是 Promise 实例,如果不是,就会先调用Promise.resolve方法,将参数转为 Promise 实例,再进一步处理。表达出来,避免了层层嵌套的回调函数。p1和p2都是 Promise 的实例,但是p2的resolve方法将p1作为参数,即。

2025-02-02 08:00:00 1134 1

原创 Node.js——模块化(模块的基本概念、模块化的规范、包与NPM)

什么是模块?模块通常是指编程语言所提供的代码组织机制,利用此机制可将程序拆解为独立的、可分解,可更换的代码单元。什么是模块化?模块化是一种设计思想,利用模块化可以把一个非常复杂的系统结构细化到具体的功能点,每个功能点看作一个模块,然后通过某种规则把这些小的模块组合到一起,构成模块化系统。Node.js中的包包是包含js文件和其他附加信息的整体,某种意义上来说,包是模块的集合, 也就是我们说的第三方模块模块是按照CommonJS规范写的js文件。

2025-01-30 08:00:00 928

原创 JavaWeb——MySQL-多表设计(5/5):案例-表结构(分类表(category)、菜品表(dish)、套餐表(set_meal)、套餐菜品关系表(set_meal_dish))

多表关系明晰分类 - 菜品一对多关系,菜品表外键连分类表id,实现分类与菜品层级关联,助快速查询分类下菜品及追溯菜品分类源头,优化数据检索与业务逻辑处理效率,提升外卖业务数据管理粒度与精度。分类 - 套餐一对多架构,套餐表外键指向分类表id,精准构建分类套餐映射,确保套餐在分类体系中精准定位与高效管理,支撑按分类筛选套餐等业务操作,强化外卖业务分类导航与套餐组织效能。菜品 - 套餐多对多纽带,套餐菜品关系表凭借与dish_id。

2025-01-28 08:00:00 1058

原创 JavaWeb——MySQL-多表设计(4/5):案例-关系分析(苍穹外卖项目概述、页面原型、表结构设计流程规划)

苍穹外卖为外卖平台,含管理后台(餐厅老板与员工用)与用户端(微信小程序)。管理后台配菜品分类、菜品、套餐数据,用户端依此点餐。本案例聚焦设计。

2025-01-26 08:00:00 280

原创 JavaWeb——MySQL-多表设计(3/5):(一对一关系,多对多关系,小结)

以用户与身份证为例,呈现一对一典型场景。在业务系统中,为优化数据操作效率,常拆分含多种信息的大表。如用户表含基本与身份信息,若基本信息查询频繁、身份信息查询低频,可拆为用户基本信息表(含用户 ID、姓名、性别等)与用户身份信息表(含民族、生日、身份证号等),两表依用户 ID 构建一对一关系,提升查询性能,精准定位数据,减轻数据库 I/O 负担,加速系统响应。于任意一方表设外键关联对方主键,如在用户身份信息表设外键user_id指向用户基本信息表主键。

2025-01-24 08:00:00 563

原创 JavaWeb——MySQL-多表设计(2/5):一对多-外键(语法解析、图形化工具添加外键实操、物理外键局限剖析、逻辑外键优势与选择)

开发中依业务规则编码实现数据一致性维护,如业务逻辑层添加部门删除校验,确保无员工关联方可删除部门,提升系统性能与扩展性,适配复杂业务架构与分布式环境,为大型项目数据管理提供灵活高效方案,增强系统应变能力与维护便利性。部门与员工表结构虽已创建并插入测试数据,但在删除部门表中学工部数据时,员工表中学工部员工记录仍留存,致数据完整性与一致性受损。此方式灵活,可按需为已有表添加外键,增强数据关联管理,如项目拓展或表结构调整时,为新表或现有表建立外键约束,完善数据关系维护机制。删除部门数据测试外键约束功能,

2025-01-22 08:00:00 880

原创 JavaWeb——MySQL-多表设计(1/5):一对多(引言、一对多关系案例、分析表结构设计、一对多关系总结)

关系特点与表结构体现一对多关系中,一个部门对应多个员工,一个员工只归属于一个部门。部门表为 “1” 的一方(父表),员工表为 “多” 的一方(子表)。在数据库表结构层面,通过在子表(员工表)中增加关联父表(部门表)主键的字段(dept_id)来实现这种关系。这样设计便于查询员工所属部门,如查询员工 “张无忌” 所属部门,可通过员工表中dept_id关联部门表id获取部门信息。表格数据values (1, '学工部', now(), now()),(2, '教研部', now(), now()),

2025-01-20 08:00:00 296

原创 JavaWeb——MySQL-DQL(7/7)-案例(员工管理的条件分页查询、员工信息统计、DQL 语句重点回顾、流程控制函数应用)

DQL 语句重点回顾DQL 语句主要包含基本查询、条件查询、分组查询、排序查询和分页查询五个部分。基本查询指定查询表和返回字段,可设置字段别名,多个字段用逗号分隔。条件查询通过WHERE添加条件,使用多种运算符构建条件,多个条件用AND或OR连接,注意空值判断用IS NULL或。分组查询用GROUP BY指定分组字段,HAVING进行分组后条件过滤,查询返回字段通常为分组字段和聚合函数,WHERE在分组前过滤且不能使用聚合函数,HAVING在分组后过滤且可使用聚合函数。排序查询用。

2025-01-18 08:00:00 679

原创 JavaWeb——MySQL-DQL(6/7)-分页查询(语法与背景、分页查询演示、总结)

关键要点回顾核心在于掌握LIMIT关键字及起始索引与每页记录数参数用法。起始索引从 0 起算,决定查询起始位置;每页记录数决定每页数据容量。同时牢记起始索引计算公式 “起始索引 =(页码 - 1)× 每页展示记录数”,此为实现灵活准确分页查询之关键,助开发者依不同页码需求计算正确起始索引,确保数据分页精准性与一致性。实际应用考量实际开发中,前端通常传页码而非起始索引,后端接收页码后依公式换算起始索引以执行查询。如接收页码为 4、每页记录数 10,则起始索引为,查询语句为。

2025-01-16 08:00:00 665

原创 JavaWeb——MySQL-DQL(5/7)-排序查询(语法、演示、总结)

排序查询要点回顾排序查询关键在于正确使用ORDER BY关键字及指定排序字段和方式。掌握升序(ASC)和降序(DESC)的使用方法,以及多字段排序时字段顺序对结果的影响。理解默认排序方式为升序,可根据实际需求灵活选择是否添加ASC关键字。实际应用注意事项在实际项目中,根据业务需求选择合适的排序字段。例如在电商系统中,根据商品价格排序(升序或降序)展示商品列表,方便用户查找低价或高价商品;在订单管理中,根据订单时间排序方便查看订单先后顺序。注意排序字段的数据类型,确保排序结果符合预期。

2025-01-14 08:00:00 948

空空如也

空空如也

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

TA关注的人

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