(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