MyBatis-Plus 主键与字段映射:@TableId和@TableField用法详解

本文详细介绍MyBatis-Plus中核心注解@TableId和@TableField的用法。通过示例说明当实体类字段名与数据库列名不一致时,如何使用这两个注解进行显式映射。同时解析@TableId的value属性用于指定对应库表字段,以及type属性配置主键自增或雪花算法等生成策略。

MyBatis-Plus 主键与字段映射:@TableId和@TableField用法详解

MyBatis-Plus Wrappers.ne 空指针异常排查与解决

在使用 MyBatis-Plus 的 Wrappers.ne() 进行条件查询时,若直接在参数中调用可能为 null 的对象方法,会因 Java 表达式求值机制导致 NullPointerException。即使传入 false 作为 condition 参数阻止 SQL 拼接,目标参数仍会被强制计算。正确做法是先对对象判空,再决定是否追加 .ne() 条件。

Mybatis-Plus 解决 updateById 更新 null 值无效问题

在使用 Mybatis-Plus 进行数据更新时,若实体字段值为 null,默认策略下数据库不会变更该字段。本文详解通过配置全局 field-strategy 或在实体类字段上使用 @TableField(strategy = FieldStrategy.IGNORED) 注解,强制更新 null 值,解决前端清空字段后后端无法同步的问题。

Mybatis-Plus 解决 updateById 更新 null 值无效问题