SpringBoot-MyBatis-plus实体类中常用的注解

@TableName

在Java类上通过添加@TableName注解并指定表名,ORM框架会将该类与指定的数据库表进行映射

@TableId(type = IdType.AUTO)

在实体类中,使用@TableId注解来标记主键字段。

@TableField("xxx")

当数据库中的字段名与实体类中的属性名不一致时,可以使用@TableField注解来指定数据库表中的字段名。

@TableField(exist = false)

  1. 解决字段名不一致问题‌:当数据库中的字段名与实体类中的属性名不一致时,可以使用@TableField注解来指定数据库表中的字段名。例如,如果数据库中的字段名为user_addr,而实体类中的属性名为userAddr,可以使用@TableField(value = "user_addr")来映射这两个名称。
  2. 处理数据库不存在的字段‌:如果数据库表中不存在某些字段,但在实体类中需要这些字段,可以使用@TableField注解并设置exist属性为false。例如,如果数据库表中没有money字段,但实体类中需要这个字段,可以在该字段上方使用@TableField(exist = "false")来指定。
  3. 控制查询时返回的字段‌:通过@TableField注解可以控制查询时不返回某些字段的值。例如,如果不想在查询结果中包含name字段的值,可以使用@TableField注解来隐藏该字段的查询结果。

@TableName("account") //指定表名,当类名与表名不一致时,可以使用,如果一致,就不用写
@Data
public class Account {
    //主键自增
    @TableId(type = IdType.AUTO)
    private Long id;
    //属性和数据库字段名一致,如果不一致,使用@TableField("字段名")指定
    @TableField("account")
    private String account;
    private String password;
    private String name;
    private Double money;
    private String status;

    @TableField(exist = false)//不存在数据库中
    private String remark;//不在表列中

}
### 如何在 Spring Boot 中配置自动为代码生成注释 为了实现在 Spring Boot 项目中自动生成代码注释的功能,可以采用多种方式来完成这一目标。一种常见的做法是利用 `MapStruct` 或者其他的 Java 注解处理器配合 IDE 的功能来进行自动化处理。 然而,在提到具体的插件支持方面,虽然官方并没有直接提供专门用于生成代码注释的插件,但是可以通过集成一些成熟的第三方库或工具达到目的。例如: - **Javadoc 工具**:这是 JDK 自带的一个命令行工具,能够基于源码中的 Javadoc 注释生成 HTML 文档。对于希望确保所有公共 API 方法都有适当文档说明的情况非常有用。 - **Archunit 和 Checkstyle 插件**:这些工具可以在构建过程中强制执行编码标准,包括要求开发者编写足够的注释。通过 Maven 或 Gradle 构建脚本引入相应的依赖即可启用此功能[^1]。 另外值得注意的是,如果关注点在于数据库映射层(如 DAO 层)以及实体类上的字段描述,则可以考虑使用 MyBatis Plus 提供的相关特性。它不仅提供了强大的 CRUD 支持,还允许定义全局配置使得每次创建新表对应的 Entity 类时都能带有默认的基础注释模板[^3]。 最后,针对整个项目的全面解决方案,推荐探索像 Swagger 这样的框架。Swagger 不仅能帮助维护 RESTful 接口的在线文档,同时也鼓励良好的编程习惯——即为每一个接口函数添加清晰易懂的文字解释。当与 Spring Doc UI 结合起来之后,甚至可以让前端工程师无需查看后台具体实现就能理解各个服务端点的作用[^4]。 ```xml <!-- 添加 swagger-ui 和 springdoc-openapi 依赖 --> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> <version>1.6.8</version> </dependency> ``` #### 使用 ArchUnit 来验证并提醒未加注释的方法 ```java import com.tngtech.archunit.core.domain.JavaClasses; import com.tngtech.archunit.core.importer.ClassFileImporter; import static com.tngtech.archunit.library.GeneralCodingRules.*; public class CodeQualityTest { @Test public void testAllPublicMethodsShouldBeDocumented() throws Exception { JavaClasses classes = new ClassFileImporter().importPackages("com.example"); classes.should(HAVE_JAVADOC).because("all public methods must be documented"). check(classes); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值