项目中注解整合

本文详细介绍了在Java项目中实体类的各种注解使用,包括@Entity、@Table、@TableId、@Builder、@Data等,以及在服务层和服务实现层的@Service和@RequiredArgsConstructor注解。此外,还探讨了控制层的@RestController和@RequestMapping注解,以及数据库层的Mapper和XML配置。同时,提到了MyBatis中的ResultMap、resultType的差异及其在复杂查询中的应用。
摘要由CSDN通过智能技术生成

(1)聚合工程:
        admin  --控制层        后台    
        cp     --控制层        移动端
        domain --实体层
        sevice --服务层
        mapper --数据库层
        job    --定时执行
        auth   --认证
        common --常见配置、工具类


(2)实体层:

    类注解:
        @Builder
            1.构造一个实体
            2.关于Builder较为复杂一些,Builder的作用之一是为了解决在某个类有很多构造函数的情况,也省去写很多构造函数的麻烦,在设计模式中的思想是:用一个内部类去实例化一个对象,避免一个类出现过多构造函数,
            3.@Builder可以放在类,构造函数或方法上
        @Data                                  
            1.等于@Getter @Setter  @ToString @EqualsAndHashCode @RequiredArgsConstructor注解组合
        @EqualsAndHashCode(callSuper = true)
            1. 此注解会生成equals(Object other) 和 hashCode()方法。
            2. 它默认使用非静态,非瞬态的属性
            3. 可通过参数exclude排除一些属性
            4. 可通过参数of指定仅使用哪些属性
            5. 它默认仅使用该类中定义的属性且不调用父类的方法
            6. 可通过callSuper=true解决上一点问题。让其生成的方法中调用父类的方法。
        @RequiredArgsConstructor  
            1.会生成一个包含常量,和标识了NotNull的变量的构造方法。生成的构造方法是私有的private        
        @AllArgsConstructor                   
            1.全参数的构造方法
        @NoArgsConstructor                 
            2.无参数的构造方法、
        @Getter
        @Setter
        @ToString
        @Slf4j
        @Log4j
        @Table(name="CUSTOMERS")
              1.实体类与其映射的数据库表名不同名时需要使用 @Table注解说明,
              该标注与 @Entity 注解并列使用,置于实体类声明语句之前,可写于单独语句行,也可与声明语句同行。
       @Table注解的常用选项是 name,用于指明数据库的表名
       @Table注解还有两个选项 catalog 和 schema 用于设置表所属的数据库目录或模式,通常为数据库名
       @Entity
            1.查看@Entity注解,发现其只有一个属性name,表示其所对应的数据库中的表名
        @Entity(name = "CUSTOMERS")
            1. 等于@Table(name="CUSTOMERS")@Entity

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值