Update JianshenkechengEntity.java

王刚注释
pz2femycj 4 months ago
parent b27b57d78c
commit ece09f22e2

@ -1,356 +1,282 @@
// 包声明实体类包存放所有与数据库表映射的JavaBean对象
package com.entity;
// 字段描述注解:自定义数据库字段元数据
import com.annotation.ColumnInfo;
// 数据校验注解:提供非空、范围等验证规则
import javax.validation.constraints.*;
// JSON序列化配置忽略未定义属性
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
// 反射异常类:处理属性拷贝时的异常
import java.lang.reflect.InvocationTargetException;
// 序列化接口标识
import java.io.Serializable;
// 集合工具类
import java.util.*;
// Apache Ant日期工具代码中未使用建议移除
import org.apache.tools.ant.util.DateUtils;
// Spring日期参数绑定注解
import org.springframework.format.annotation.DateTimeFormat;
// Jackson日期格式化注解
import com.fasterxml.jackson.annotation.JsonFormat;
// Bean属性拷贝工具
import org.apache.commons.beanutils.BeanUtils;
// MyBatis Plus字段注解
import com.baomidou.mybatisplus.annotations.TableField;
// MyBatis Plus主键注解
import com.baomidou.mybatisplus.annotations.TableId;
// MyBatis Plus表名注解
import com.baomidou.mybatisplus.annotations.TableName;
// MyBatis Plus主键策略枚举
import com.baomidou.mybatisplus.enums.IdType;
// MyBatis Plus字段填充策略
import com.baomidou.mybatisplus.enums.FieldFill;
// 自定义日期格式化工具
import com.utils.DateUtil;
/**
*
*
* @author
* @email
*/
@TableName("jianshenkecheng")
// 健身课程实体
//映射数据库表 jianshenkecheng
//存储健身课程基本信息、统计数据和关联信息
@TableName("jianshenkecheng") // 指定关联数据库表名
public class JianshenkechengEntity<T> implements Serializable {
// 序列化版本标识(类版本控制)
private static final long serialVersionUID = 1L;
// 空构造器(持久层框架需要)
public JianshenkechengEntity() {
public JianshenkechengEntity() {
}
public JianshenkechengEntity(T t) {
try {
BeanUtils.copyProperties(this, t);
} catch (IllegalAccessException | InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
*
*/
@TableId(type = IdType.AUTO)
@ColumnInfo(comment="主键",type="int(11)")
@TableField(value = "id")
// 泛型构造器:通过反射进行属性拷贝
public JianshenkechengEntity(T t) {
try {
BeanUtils.copyProperties(this, t); // 使用Apache工具类拷贝属性
} catch (IllegalAccessException | InvocationTargetException e) {
e.printStackTrace(); // 生产环境建议改为日志记录
}
}
// 主键字段(自增策略)
@TableId(type = IdType.AUTO) // 主键生成策略:数据库自增
@ColumnInfo(comment="主键",type="int(11)") // 字段注释主键数据库类型int(11)
@TableField("id") // 映射数据库字段名(可省略)
private Integer id;
/**
*
*/
@ColumnInfo(comment="教练",type="int(11)")
@TableField(value = "jiaolian_id")
// 关联教练ID外键
@ColumnInfo(comment="教练",type="int(11)") // 关联jiaolian表主键
@TableField("jiaolian_id")
private Integer jiaolianId;
/**
*
*/
@ColumnInfo(comment="健身课程名称",type="varchar(200)")
@TableField(value = "jianshenkecheng_name")
// 课程名称(需考虑唯一性约束)
@ColumnInfo(comment="健身课程名称",type="varchar(200)") // 数据库类型varchar(200)
@TableField("jianshenkecheng_name")
private String jianshenkechengName;
/**
*
*/
@ColumnInfo(comment="健身课程照片",type="varchar(200)")
@TableField(value = "jianshenkecheng_photo")
// 课程封面图URL建议添加OSS存储注释
@ColumnInfo(comment="健身课程照片",type="varchar(200)") // 存储图片路径
@TableField("jianshenkecheng_photo")
private String jianshenkechengPhoto;
/**
*
*/
@ColumnInfo(comment="课程视频",type="varchar(200)")
@TableField(value = "jianshenkecheng_video")
// 课程视频地址(建议标注支持的格式)
@ColumnInfo(comment="课程视频",type="varchar(200)") // 存储视频文件路径或URL
@TableField("jianshenkecheng_video")
private String jianshenkechengVideo;
/**
*
*/
@ColumnInfo(comment="赞",type="int(11)")
@TableField(value = "zan_number")
// 点赞计数器(建议添加并发控制)
@ColumnInfo(comment="赞",type="int(11)") // 默认值建议设置为0
@TableField("zan_number")
private Integer zanNumber;
/**
*
*/
// 点踩计数器(考虑是否需要负值限制)
@ColumnInfo(comment="踩",type="int(11)")
@TableField(value = "cai_number")
@TableField("cai_number")
private Integer caiNumber;
/**
*
*/
@ColumnInfo(comment="健身课程类型",type="int(11)")
@TableField(value = "jianshenkecheng_types")
// 课程分类(应关联字典表或使用枚举类)
@ColumnInfo(comment="健身课程类型",type="int(11)") // 例1-有氧 2-力量 3-柔韧
@TableField("jianshenkecheng_types")
private Integer jianshenkechengTypes;
/**
*
*/
@ColumnInfo(comment="健身课程热度",type="int(11)")
@TableField(value = "jianshenkecheng_clicknum")
// 点击量统计(可考虑每日统计优化)
@ColumnInfo(comment="健身课程热度",type="int(11)") // 记录课程查看次数
@TableField("jianshenkecheng_clicknum")
private Integer jianshenkechengClicknum;
/**
*
*/
@ColumnInfo(comment="健身课程介绍",type="longtext")
@TableField(value = "jianshenkecheng_content")
// 富文本课程介绍需考虑XSS防护
@ColumnInfo(comment="健身课程介绍",type="longtext") // 存储HTML格式内容
@TableField("jianshenkecheng_content")
private String jianshenkechengContent;
/**
*
*/
@ColumnInfo(comment="逻辑删除",type="int(11)")
@TableField(value = "data_delete")
// 逻辑删除标志0-未删除 1-已删除)
@ColumnInfo(comment="逻辑删除",type="int(11)") // 替代物理删除
@TableField("data_delete")
private Integer dataDelete;
/**
*
*/
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
@DateTimeFormat
@ColumnInfo(comment="录入时间",type="timestamp")
@TableField(value = "insert_time",fill = FieldFill.INSERT)
// 数据录入时间(管理后台操作时间)
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") // 响应格式
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") // 请求参数格式
@ColumnInfo(comment="录入时间",type="timestamp") // 数据库类型timestamp
@TableField(value = "insert_time", fill = FieldFill.INSERT) // 新增时自动填充
private Date insertTime;
/**
* homeMain
*/
// 课程创建时间业务时间可能与insert_time重复
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
@DateTimeFormat
@ColumnInfo(comment="创建时间",type="timestamp")
@TableField(value = "create_time",fill = FieldFill.INSERT)
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ColumnInfo(comment="创建时间",type="timestamp") // 建议确认与insert_time的区别
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
// ----------------------------- Getter/Setter方法 -----------------------------
/**
*
*/
// 主键访问器
public Integer getId() {
return id;
}
/**
*
*/
// 主键修改器
public void setId(Integer id) {
this.id = id;
}
/**
*
*/
// 教练ID访问器
public Integer getJiaolianId() {
return jiaolianId;
}
/**
*
*/
// 教练ID修改器应校验教练存在性
public void setJiaolianId(Integer jiaolianId) {
this.jiaolianId = jiaolianId;
}
/**
*
*/
// 课程名称访问器
public String getJianshenkechengName() {
return jianshenkechengName;
}
/**
*
*/
// 课程名称修改器(建议添加唯一性校验)
public void setJianshenkechengName(String jianshenkechengName) {
this.jianshenkechengName = jianshenkechengName;
}
/**
*
*/
// 课程图片访问器
public String getJianshenkechengPhoto() {
return jianshenkechengPhoto;
}
/**
*
*/
// 课程图片修改器(建议添加格式校验)
public void setJianshenkechengPhoto(String jianshenkechengPhoto) {
this.jianshenkechengPhoto = jianshenkechengPhoto;
}
/**
*
*/
// 课程视频访问器
public String getJianshenkechengVideo() {
return jianshenkechengVideo;
}
/**
*
*/
// 课程视频修改器(建议添加视频格式校验)
public void setJianshenkechengVideo(String jianshenkechengVideo) {
this.jianshenkechengVideo = jianshenkechengVideo;
}
/**
*
*/
// 点赞数访问器
public Integer getZanNumber() {
return zanNumber;
}
/**
*
*/
// 点赞数修改器(建议添加非负校验)
public void setZanNumber(Integer zanNumber) {
this.zanNumber = zanNumber;
}
/**
*
*/
// 点踩数访问器
public Integer getCaiNumber() {
return caiNumber;
}
/**
*
*/
// 点踩数修改器(建议添加非负校验)
public void setCaiNumber(Integer caiNumber) {
this.caiNumber = caiNumber;
}
/**
*
*/
// 课程类型访问器
public Integer getJianshenkechengTypes() {
return jianshenkechengTypes;
}
/**
*
*/
// 课程类型修改器(应限制有效值范围)
public void setJianshenkechengTypes(Integer jianshenkechengTypes) {
this.jianshenkechengTypes = jianshenkechengTypes;
}
/**
*
*/
// 点击量访问器
public Integer getJianshenkechengClicknum() {
return jianshenkechengClicknum;
}
/**
*
*/
// 点击量修改器(建议只允许递增)
public void setJianshenkechengClicknum(Integer jianshenkechengClicknum) {
this.jianshenkechengClicknum = jianshenkechengClicknum;
}
/**
*
*/
// 课程详情访问器
public String getJianshenkechengContent() {
return jianshenkechengContent;
}
/**
*
*/
// 课程详情修改器建议添加HTML过滤
public void setJianshenkechengContent(String jianshenkechengContent) {
this.jianshenkechengContent = jianshenkechengContent;
}
/**
*
*/
// 逻辑删除标志访问器
public Integer getDataDelete() {
return dataDelete;
}
/**
*
*/
// 逻辑删除标志修改器应限制0/1取值
public void setDataDelete(Integer dataDelete) {
this.dataDelete = dataDelete;
}
/**
*
*/
// 录入时间访问器(通常自动生成)
public Date getInsertTime() {
return insertTime;
}
/**
*
*/
// 录入时间修改器(通常无需手动设置)
public void setInsertTime(Date insertTime) {
this.insertTime = insertTime;
}
/**
* homeMain
*/
// 创建时间访问器注意与insert_time区别
public Date getCreateTime() {
return createTime;
}
/**
* homeMain
*/
// 创建时间修改器(需确认业务场景)
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
// 对象字符串表示(调试用)
@Override
public String toString() {
return "Jianshenkecheng{" +
", id=" + id +
", jiaolianId=" + jiaolianId +
", jianshenkechengName=" + jianshenkechengName +
", jianshenkechengPhoto=" + jianshenkechengPhoto +
", jianshenkechengVideo=" + jianshenkechengVideo +
", zanNumber=" + zanNumber +
", caiNumber=" + caiNumber +
", jianshenkechengTypes=" + jianshenkechengTypes +
", jianshenkechengClicknum=" + jianshenkechengClicknum +
", jianshenkechengContent=" + jianshenkechengContent +
", dataDelete=" + dataDelete +
", insertTime=" + DateUtil.convertString(insertTime,"yyyy-MM-dd") +
", createTime=" + DateUtil.convertString(createTime,"yyyy-MM-dd") +
"}";
", id=" + id +
", jiaolianId=" + jiaolianId +
", jianshenkechengName=" + jianshenkechengName +
", jianshenkechengPhoto=" + jianshenkechengPhoto +
", jianshenkechengVideo=" + jianshenkechengVideo +
", zanNumber=" + zanNumber +
", caiNumber=" + caiNumber +
", jianshenkechengTypes=" + jianshenkechengTypes +
", jianshenkechengClicknum=" + jianshenkechengClicknum +
", jianshenkechengContent=" + jianshenkechengContent +
", dataDelete=" + dataDelete +
", insertTime=" + DateUtil.convertString(insertTime,"yyyy-MM-dd") + // 格式化丢失时间精度
", createTime=" + DateUtil.convertString(createTime,"yyyy-MM-dd") +
"}";
}
}
Loading…
Cancel
Save