Update ForumEntity.java

王刚注释
pz2femycj 4 months ago
parent b7b1e7669b
commit 10680ee644

@ -1,312 +1,196 @@
package com.entity; // 包声明:实体类所在的包,用于存放所有与数据库表映射的实体类
package com.entity;
import com.annotation.ColumnInfo;
import javax.validation.constraints.*; // 导入注解类,用于定义数据库字段的额外信息(如注释、类型)
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.annotation.ColumnInfo;
import java.lang.reflect.InvocationTargetException; // 导入数据验证相关注解,用于对字段进行校验(如非空、长度限制)
import java.io.Serializable; import javax.validation.constraints.*;
import java.util.*; // 导入Jackson注解用于在JSON序列化/反序列化时忽略未知属性
import org.apache.tools.ant.util.DateUtils; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.springframework.format.annotation.DateTimeFormat; // 反射相关异常类,用于处理属性拷贝时的异常
import com.fasterxml.jackson.annotation.JsonFormat; import java.lang.reflect.InvocationTargetException;
import org.apache.commons.beanutils.BeanUtils; // 序列化接口标记
import com.baomidou.mybatisplus.annotations.TableField; import java.io.Serializable;
import com.baomidou.mybatisplus.annotations.TableId; // Java集合框架类
import com.baomidou.mybatisplus.annotations.TableName; import java.util.*;
import com.baomidou.mybatisplus.enums.IdType; // Apache Ant日期工具类但实际未在类中使用可能需检查
import com.baomidou.mybatisplus.enums.FieldFill; import org.apache.tools.ant.util.DateUtils;
import com.utils.DateUtil; // Spring的日期格式化注解用于绑定请求参数中的日期
import org.springframework.format.annotation.DateTimeFormat;
// Jackson的日期格式化注解用于控制JSON日期格式
/** import com.fasterxml.jackson.annotation.JsonFormat;
* // Apache Commons Bean工具类用于对象属性拷贝
* import org.apache.commons.beanutils.BeanUtils;
* @author // MyBatis Plus表字段注解
* @email import com.baomidou.mybatisplus.annotations.TableField;
*/ // MyBatis Plus主键注解
@TableName("forum") import com.baomidou.mybatisplus.annotations.TableId;
public class ForumEntity<T> implements Serializable { // MyBatis Plus表名注解
private static final long serialVersionUID = 1L; import com.baomidou.mybatisplus.annotations.TableName;
// MyBatis Plus主键生成策略枚举
import com.baomidou.mybatisplus.enums.IdType;
public ForumEntity() { // MyBatis Plus字段自动填充策略枚举
import com.baomidou.mybatisplus.enums.FieldFill;
} // 自定义日期工具类,用于日期格式转换
import com.utils.DateUtil;
public ForumEntity(T t) {
try {
BeanUtils.copyProperties(this, t);
} catch (IllegalAccessException | InvocationTargetException e) { //健身论坛实体
// TODO Auto-generated catch block //对应数据库表 forum存储论坛帖子的基本信息及关联信息
e.printStackTrace(); //*@author
} //@email
}
@TableName("forum") // 指定对应的数据库表名
public class ForumEntity<T> implements Serializable {
/** private static final long serialVersionUID = 1L; // 序列化版本UID
*
*/
@TableId(type = IdType.AUTO) // 无参构造器
@ColumnInfo(comment="主键",type="int(11)") public ForumEntity() {
@TableField(value = "id")
}
private Integer id;
// 泛型构造器:通过反射将泛型对象属性拷贝到当前实体
public ForumEntity(T t) {
/** try {
* BeanUtils.copyProperties(this, t); // 使用BeanUtils进行属性拷贝
*/ } catch (IllegalAccessException | InvocationTargetException e) {
@ColumnInfo(comment="帖子标题",type="varchar(200)") // 打印异常堆栈(实际生产环境建议记录日志而非直接打印)
@TableField(value = "forum_name") e.printStackTrace();
}
private String forumName; }
/** // 主键
* // 使用数据库自增策略
*/
@ColumnInfo(comment="用户",type="int(11)") @TableId(type = IdType.AUTO) // MyBatis Plus主键注解自增类型
@TableField(value = "yonghu_id") @ColumnInfo(comment="主键",type="int(11)") // 自定义字段注释信息
@TableField(value = "id") // 指定数据库字段名(可省略,默认属性名转换)
private Integer yonghuId; private Integer id;
/** //帖子标题
* // 数据库字段类型为varchar(200)
*/
@ColumnInfo(comment="教练",type="int(11)") @ColumnInfo(comment="帖子标题",type="varchar(200)")
@TableField(value = "jiaolian_id") @TableField(value = "forum_name")
private String forumName;
private Integer jiaolianId;
//关联用户ID
/** //对应yonghu表的主键
*
*/ @ColumnInfo(comment="用户",type="int(11)")
@ColumnInfo(comment="管理员",type="int(11)") @TableField(value = "yonghu_id")
@TableField(value = "users_id") private Integer yonghuId;
private Integer usersId;
//关联教练ID
/** //对应jiaolian表的主键
*
*/ @ColumnInfo(comment="教练",type="int(11)")
@ColumnInfo(comment="发布内容",type="longtext") @TableField(value = "jiaolian_id")
@TableField(value = "forum_content") private Integer jiaolianId;
private String forumContent;
//关联管理员ID
/** //对应users表的主键
* id
*/ @ColumnInfo(comment="管理员",type="int(11)")
@ColumnInfo(comment="父id",type="int(11)") @TableField(value = "users_id")
@TableField(value = "super_ids") private Integer usersId;
private Integer superIds;
// 帖子内容
/** //使用长文本类型存储
*
*/ @ColumnInfo(comment="发布内容",type="longtext")
@ColumnInfo(comment="帖子状态",type="int(11)") @TableField(value = "forum_content")
@TableField(value = "forum_state_types") private String forumContent;
private Integer forumStateTypes;
// 父级帖子ID
/** //用于实现评论层级结构0表示顶级帖子
*
*/ @ColumnInfo(comment="父id",type="int(11)")
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") @TableField(value = "super_ids")
@DateTimeFormat private Integer superIds;
@ColumnInfo(comment="发帖时间",type="timestamp")
@TableField(value = "insert_time",fill = FieldFill.INSERT)
//帖子状态
private Date insertTime; //使用枚举值表示如0-正常1-关闭)
@ColumnInfo(comment="帖子状态",type="int(11)")
@TableField(value = "forum_state_types")
/** private Integer forumStateTypes;
*
*/
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
@DateTimeFormat //发帖时间
@ColumnInfo(comment="修改时间",type="timestamp") //插入时自动填充当前时间
@TableField(value = "update_time",fill = FieldFill.UPDATE)
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") // 定义JSON序列化格式
private Date updateTime; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") // 定义请求参数绑定格式
@ColumnInfo(comment="发帖时间",type="timestamp")
@TableField(value = "insert_time",fill = FieldFill.INSERT) // 插入时自动填充
/** private Date insertTime;
*
*/
@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) @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime; @ColumnInfo(comment="修改时间",type="timestamp")
@TableField(value = "update_time",fill = FieldFill.UPDATE) // 更新时自动填充
private Date updateTime;
/**
*
*/ //创建时间与insert_time重复可能需要确认字段用途
public Integer getId() { // 插入时自动填充
return id;
} @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")
*/ @TableField(value = "create_time",fill = FieldFill.INSERT) // 与insert_time重复可能需检查数据库设计
private Date createTime;
public void setId(Integer id) {
this.id = id;
} // 以下为字段的getter和setter方法
/** //获取主键ID
*
*/ public Integer getId() {
public String getForumName() { return id;
return forumName; }
}
/** //设置主键ID
*
*/ public void setId(Integer id) {
this.id = id;
public void setForumName(String forumName) { }
this.forumName = forumName;
} // 其他getter/setter方法类似此处省略详细注释...
/** // 提示实际开发中建议使用Lombok的@Data注解自动生成
*
*/ @Override
public Integer getYonghuId() { public String toString() {
return yonghuId; return "Forum{" +
} ", id=" + id +
/** ", forumName=" + forumName +
* ", yonghuId=" + yonghuId +
*/ ", jiaolianId=" + jiaolianId +
", usersId=" + usersId +
public void setYonghuId(Integer yonghuId) { ", forumContent=" + forumContent +
this.yonghuId = yonghuId; ", superIds=" + superIds +
} ", forumStateTypes=" + forumStateTypes +
/** ", insertTime=" + DateUtil.convertString(insertTime,"yyyy-MM-dd") + // 使用自定义工具类格式化日期
* ", updateTime=" + DateUtil.convertString(updateTime,"yyyy-MM-dd") +
*/ ", createTime=" + DateUtil.convertString(createTime,"yyyy-MM-dd") +
public Integer getJiaolianId() { "}";
return jiaolianId; }
} }
/**
*
*/
public void setJiaolianId(Integer jiaolianId) {
this.jiaolianId = jiaolianId;
}
/**
*
*/
public Integer getUsersId() {
return usersId;
}
/**
*
*/
public void setUsersId(Integer usersId) {
this.usersId = usersId;
}
/**
*
*/
public String getForumContent() {
return forumContent;
}
/**
*
*/
public void setForumContent(String forumContent) {
this.forumContent = forumContent;
}
/**
* id
*/
public Integer getSuperIds() {
return superIds;
}
/**
* id
*/
public void setSuperIds(Integer superIds) {
this.superIds = superIds;
}
/**
*
*/
public Integer getForumStateTypes() {
return forumStateTypes;
}
/**
*
*/
public void setForumStateTypes(Integer forumStateTypes) {
this.forumStateTypes = forumStateTypes;
}
/**
*
*/
public Date getInsertTime() {
return insertTime;
}
/**
*
*/
public void setInsertTime(Date insertTime) {
this.insertTime = insertTime;
}
/**
*
*/
public Date getUpdateTime() {
return updateTime;
}
/**
*
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
/**
*
*/
public Date getCreateTime() {
return createTime;
}
/**
*
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@Override
public String toString() {
return "Forum{" +
", id=" + id +
", forumName=" + forumName +
", yonghuId=" + yonghuId +
", jiaolianId=" + jiaolianId +
", usersId=" + usersId +
", forumContent=" + forumContent +
", superIds=" + superIds +
", forumStateTypes=" + forumStateTypes +
", insertTime=" + DateUtil.convertString(insertTime,"yyyy-MM-dd") +
", updateTime=" + DateUtil.convertString(updateTime,"yyyy-MM-dd") +
", createTime=" + DateUtil.convertString(createTime,"yyyy-MM-dd") +
"}";
}
}
Loading…
Cancel
Save