简介:
Illness
类用于存储和管理疾病信息。下面将介绍如何设计和实现 Illness
类,定义各种属性,并使用 MyBatis-Plus 进行 ORM 映射,同时利用 Lombok 注解减少样板代码。
主要内容:
Lombok 注解
@Data
:自动生成 getter、setter、toString、equals 和 hashCode 方法。@NoArgsConstructor
:生成无参构造函数。@AllArgsConstructor
:生成全参构造函数。@Builder
:实现该类的构建者模式,方便对象的创建。
MyBatis-Plus 注解
@TableName("illness")
:指定实体类对应的数据库表名为illness
。@TableId(type = IdType.AUTO)
:指定主键的自增策略。@TableField(exist = false)
:标识该字段在数据库表中不存在,仅用于临时存储不需要持久化的数据。
属性说明
- id:主键ID,自动递增,用于唯一标识每个疾病记录。
- kindId:疾病所属种类的ID,用于分类和管理不同种类的疾病。
- illnessName:疾病名称,便于识别和检索。
- includeReason:引起疾病的原因,帮助医学研究和疾病预防。
- illnessSymptom:主要症状,帮助医生进行初步诊断和治疗。
- specialSymptom:特殊症状,便于处理特殊病例。
- createTime:疾病信息的创建时间,用于跟踪数据的创建时间。
- updateTime:疾病信息的最后更新时间,用于跟踪数据的更新情况。
- kind:疾病种类对象,表示疾病所属的种类,但在数据库表中不存在,用于业务逻辑中的临时存储。
- illnessMedicine:与疾病相关的药物对象,在数据库表中不存在,用于业务逻辑中的临时存储。
通过这种设计,Illness
类能够有效地存储和管理疾病信息,利用 MyBatis-Plus 和 Lombok 提高了开发效率,减少了样板代码,同时保证了代码的清晰和可维护性。
下面是完整的代码:
package com.SmartMed_Connect.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* Illness 实体类
* 该类表示 SmartMed Connect 应用中的疾病信息。
* 它使用 MyBatis-Plus 注解进行 ORM 映射,并使用 Lombok 注解减少样板代码。
*/
@Data// Lombok 注解,用于生成 getter、setter、toString、equals 和 hashCode 方法
@NoArgsConstructor// Lombok 注解,用于生成无参构造函数
@AllArgsConstructor// Lombok 注解,用于生成全参构造函数
@Builder// Lombok 注解,用于实现该类的构建者模式
@TableName("illness")// MyBatis-Plus 注解,指定对应的数据库表名
public class Illness {
/**
* 主键ID
* 该字段是疾病表的主键,并且是自动递增的。
*/
@TableId(type = IdType.AUTO)// MyBatis-Plus 注解,指定主键的自增策略
private Integer id;
/**
* 疾病所属种类id
* 该字段存储疾病所属的种类 ID。
*/
private Integer kindId;
/**
* 疾病的名字
* 该字段存储疾病的名称。
*/
private String illnessName;
/**
* 引起的原因
* 该字段存储引起疾病的原因。
*/
private String includeReason;
/**
* 主要的症状
* 该字段存储疾病的主要症状。
*/
private String illnessSymptom;
/**
* 特殊的症状
* 该字段存储疾病的特殊症状。
*/
private String specialSymptom;
/**
* 创建时间
* 该字段存储疾病信息的创建时间戳。
*/
private Date createTime;
/**
* 更新时间
* 该字段存储疾病信息的最后更新时间戳。
*/
private Date updateTime;
/**
* 疾病种类对象
* 该字段表示疾病所属的种类对象,在数据库表中不存在。
* 当 MyBatis-Plus 处理实体类与数据库表之间的映射时,
* 带有 @TableField(exist = false) 注解的字段不会被映射到数据库表中的任何列。
* 在某些业务逻辑中,我们需要临时存储一些不需要持久化的数据。
*/
@TableField(exist = false)// MyBatis-Plus 注解,指定该字段在数据库表中不存在
private IllnessKind kind;
/**
* 疾病相关药物对象
* 该字段表示与疾病相关的药物对象,在数据库表中不存在。
*/
@TableField(exist = false)// MyBatis-Plus 注解,指定该字段在数据库表中不存在
private IllnessMedicine illnessMedicine;
}