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 层完整代码示例。
在 MyBatis-Plus 开发中,查看 SQL 语句有助于排查数据问题。本文介绍两种主流配置方式:通过 log-impl 输出详细包含结果集的 SQL,以及通过 logging.level 仅记录执行语句与影响行数。提供 YAML 与 Properties 两种格式的配置文件写法,帮助开发者根据调试需求选择合适的日志粒度。
本文详解如何使用MyBatis-Plus实现指定字段的模糊查询。通过@TableField的condition属性配置LIKE操作,并重点解决Oracle数据库中CONCAT函数无法拼接多参数导致的报错问题,提供自定义SqlCondition类的兼容方案。

HTML 表单仅支持 GET 和 POST 请求。在 Spring Boot 中若需通过表单发送 PUT 或 DELETE 请求,需利用 HiddenHttpMethodFilter 转换器。由于新版本自动配置默认禁用该功能,需在 application.properties 中开启 spring.mvc.hiddenmethod.filter.enabled=true,并在表单中添加 name="_method" 的隐藏域即可正常使用。

本文详细解析了基于MySQL InnoDB引擎实现分布式锁的原理。重点讲解了行锁(共享锁与排他锁)的特性及索引对锁粒度的影响,并通过Java代码演示如何利用`SELECT ... FOR UPDATE`配合唯一索引实现高并发环境下的资源互斥访问。同时对比了MyISAM的表级锁差异,为开发者提供清晰的操作参考。

本文介绍如何在 MyBatis 中使用注解实现自定义结果集映射及多表关联查询。通过 @Results 和 @Result 解决属性名与列名不一致问题,利用 @One 实现一对一分解查询,使用 @Many 完成一对多懒加载。文章包含完整的实体类定义、Mapper接口编写及测试用例,并对比了注解开发与 XML 映射文件的优劣。

解决MyBatis-Plus默认忽略null值导致修改失败的问题,通过在实体类添加@TableField(strategy=FieldStrategy.IGNORED)实现空值覆盖。同时提供使用updateForSet方法进行SQL直写的代码示例,以完成指定字段的精确更新操作。

本文详解 Spring Boot 中实现页面跳转的两种核心方式:请求转发(Forward)与重定向(Redirect)。通过对比两者的 URL 变化、请求次数、数据保留机制及适用场景,结合 Controller 层 Java 代码示例,帮助开发者根据业务需求选择正确的跳转策略,避免常见的 404 错误与数据丢失问题。

在Spring Boot开发中,同一接口存在多个实现类时会导致Bean注入歧义。本文对比了@Primary、@Resource和@Qualifier等基础手动切换方案与基于@ConditionalOnProperty的条件自动装配方案。通过配置项动态控制实现类的实例化,实现了无需修改代码即可在不同环境间灵活切换业务逻辑,提升了系统的可维护性与运维友好度。
本文记录了在 Spring Boot 中集成 Undertow 容器时,部分版本(2.2.x)静态资源文件(如 MP4)无法正常访问的问题。通过分析 Maven 依赖配置与 Undertow 参数设置,并对比 Tomcat 的性能差异,提供了包括降级版本、切换 Web 服务器容器或引入 Nginx 等在内的有效解决方案。

本文详解在SpringBoot中如何判断某个Bean是否存在,包括获取所有Bean名称及通过异常处理验证特定Bean的存在性。同时分析了@Configuration配合@Bean注册Bean的优势与潜在风险,特别是循环加载问题及其解决方案,如@Order、@DependsOn注解或XML配置导入。