MyBatis-Plus 是一款基于 MyBatis 的增强工具,简化了数据库操作,极大提高了开发效率。在使用 MyBatis-Plus 进行开发时,有一些常用的核心注解。本文将为大家介绍常用的几个注

发布时间:2026/6/26 12:49:59
MyBatis-Plus 是一款基于 MyBatis 的增强工具,简化了数据库操作,极大提高了开发效率。在使用 MyBatis-Plus 进行开发时,有一些常用的核心注解。本文将为大家介绍常用的几个注 MyBatis-Plus 是一款基于 MyBatis 的增强工具简化了数据库操作极大提高了开发效率。在使用 MyBatis-Plus 进行开发时有一些常用的核心注解。本文将为大家介绍常用的几个注解TableName、TableId、TableField和TableLogic并详细说明它们的作用和使用场景同时提供示例代码。1. TableNameTableName注解用于指定数据库中的表名。通常情况下MyBatis-Plus 会根据实体类名自动推测表名但如果表名与实体类名不相同我们就可以使用此注解。使用场景表名与实体类名称不一致时需要明确指定。在进行多表操作时需确保精确的表名。示例代码importcom.baomidou.mybatisplus.annotation.TableName;TableName(user_info)publicclassUser{privateLongid;privateStringname;privateIntegerage;// Getter 和 Setter 方法省略}在上述代码中User类将映射到数据库中的user_info表。2. TableIdTableId注解用于指定主键字段。MyBatis-Plus 提供了自动策略来生成 ID可以通过该注解的属性指定。属性value: 映射数据库中的主键列。type: 主键策略例如IdType.AUTO、IdType.UUID、IdType.INPUT等。使用场景需要明确标识实体类的主键字段。自定义主键生成策略时。示例代码importcom.baomidou.mybatisplus.annotation.TableId;importcom.baomidou.mybatisplus.annotation.IdType;publicclassUser{TableId(valueuser_id,typeIdType.AUTO)privateLongid;privateStringname;privateIntegerage;// Getter 和 Setter 方法省略}在该示例中User类中的id字段被标识为主键且使用了自增策略。3. TableFieldTableField注解用于指定普通字段与数据库列的映射关系。可以自定义字段名如字段名与列名不一致时或者配置其他属性如数据库字段是否为空等。属性value: 映射数据库中的列名。exist: 指示该字段是否存在于数据库表中。使用场景字段名称与数据库列名称不一致时。设置字段的一些额外属性如是否为数据库字段等。示例代码importcom.baomidou.mybatisplus.annotation.TableField;publicclassUser{privateLongid;TableField(user_name)// 映射到数据库中的 user_name 列privateStringname;TableField(existfalse)// 表示该字段不在数据库中privateStringtemporaryField;// Getter 和 Setter 方法省略}在此代码中name字段映射到数据库的user_name列而temporaryField字段不在数据库表中。4. TableLogicTableLogic注解用于实现逻辑删除。使用该注解的字段将用于标记实体的删除状态通过标记删除数据而不从数据库中物理删除。属性value: 标记为删除的值例如1。delval: 标记为未删除的值例如0。使用场景需要逻辑删除功能的场合。不希望实际删除数据而是标记数据为删除状态。示例代码importcom.baomidou.mybatisplus.annotation.TableLogic;publicclassUser{privateLongid;privateStringname;privateIntegerage;TableLogicprivateIntegerdeleted;// 0 表示未删除1 表示已删除// Getter 和 Setter 方法省略}在这个例子中deleted字段作为逻辑删除标志您可以根据该字段的值判断用户是否被删除。最后小结下哈MyBatis-Plus 提供的这几个注解 (TableName、TableId、TableField和TableLogic) 为我们在数据库操作时提供了极大的便利。通过这些注解可以简化代码、降低出错率使得整个开发过程更加高效。在实际应用中根据具体需求选取合适的注解进行使用将会极大地提升代码的可读性和可维护性。