MyBatis-Plus 设置主键自增并获取生成 ID 的完整指南
本文详细介绍在 MyBatis-Plus 中如何配置主键自增策略并正确获取插入后生成的自增 ID。主要涵盖通过 @TableId 注解配置实体类、使用内置 insert 方法及自定义 SQL(@Options 或 @InsertProvider)三种获取 ID 的方式,以及 application.yml 中的全局配置,解决开发中常见的 ID 回写问题。
本文详细介绍在 MyBatis-Plus 中如何配置主键自增策略并正确获取插入后生成的自增 ID。主要涵盖通过 @TableId 注解配置实体类、使用内置 insert 方法及自定义 SQL(@Options 或 @InsertProvider)三种获取 ID 的方式,以及 application.yml 中的全局配置,解决开发中常见的 ID 回写问题。

本文详细介绍在 MyBatis 中调用存储过程的两种主要方式:通过 Map 集合获取 IN/OUT 参数返回值,以及直接执行 SQL 脚本获取结果集。重点解析 statementType="CALLABLE"配置、参数模式声明及多数据源切换注意事项,提供 Controller、Service、Mapper 层完整代码示例。
本文深入解析 MySQL InnoDB 引擎中的 redo log 与 binlog。两者分别属于引擎层和服务层,前者用于保证事务持久性(WAL),后者用于主从复制和数据恢复。通过对比物理日志与逻辑日志的差异,并结合示例详细讲解事务执行时的“两阶段提交”机制,帮助读者理解 MySQL 如何确保数据一致性与安全性。

在MySQL中,当遇到大数据导入或更新失败时,往往是因为max_allowed_packet参数值过小。本文详细讲解了如何通过查看当前配置、修改配置文件(my.cnf/my.ini)以及在命令行临时调整这几种方法来正确设置该参数,有效解决因数据包限制导致的写入错误问题。
本文深入解析MySQL索引在数据库中的三大核心作用:通过B+树结构减少全表扫描记录数,利用索引有序性实现高效排序(order by)及避免临时表文件排序,以及借助索引顺序直接进行分组统计(group by)。文章结合具体SQL语句与InnoDB存储引擎特性,说明联合索引在排序和分组时的连续列要求,帮助用户理解索引机制以优化查询性能。

本文详解 MySQL 8 相较于 5.7 版本的核心差异。主要更新包括默认字符集升级为 utf8mb4 以原生支持 Emoji;引入隐藏索引便于性能调试;新增 SET PERSIST 持久化配置命令;完善通用表表达式(CTE)简化复杂查询;以及内置窗口函数替代繁琐的用户变量排名。这些改进显著提升了数据库的易用性、可维护性与查询优化能力。

本文详细介绍 MySQL 8.0 中的核心连接查询语法。涵盖内连接的等值与自然连接区别及四种写法;左/右外连接保留未匹配数据的原理;以及利用 UNION 操作符模拟 MySQL 不支持的全外连接。附带完整 SQL 代码示例与结果分析,帮助开发者精准掌握多表关联技巧。

本文深入解析MySQL中字符串字段的索引策略。通过对比全字段索引与前缀索引在B+树存储结构和查询回表过程中的差异,说明如何权衡存储空间与扫描行数。同时探讨覆盖索引在前缀场景下的失效问题,并提供身份证等低区分度字段使用哈希(crc32)和倒序存储的优化方案。

本文详细讲解MySQL数据库的建表操作,包括查看现有表结构、使用CREATE TABLE语法建立用户表。文中列举了数字、字符串及日期等常用数据类型,并深入解析如何添加和删除主键、唯一、非空及默认值约束。配合ALTER TABLE命令,演示了在已有表中动态调整字段的完整流程,适用于初学者快速掌握SQL基础。

本文详述在 Ubuntu 系统下安装 MySQL 8.0.28 的步骤,重点讲解如何利用 debian.cnf 默认凭据重置 root 密码,并修改配置文件以启用 bind-address=0.0.0.0 从而实现远程连接。操作包含防火墙关闭及 Navicat 连通性测试,适用于需要快速搭建可外部访问的 MySQL 环境场景。

本文详解如何使用MyBatis-Plus实现指定字段的模糊查询。通过@TableField的condition属性配置LIKE操作,并重点解决Oracle数据库中CONCAT函数无法拼接多参数导致的报错问题,提供自定义SqlCondition类的兼容方案。

本文详解MySQL中计算两个时间点差值的方法。重点解析TIMESTAMPDIFF函数的语法、支持的9种时间单位(如秒、分、小时、天等)及参数顺序要求,并对比介绍UNIX_TIMESTAMP差值法在精确秒数计算中的应用,附带完整SQL代码示例。