Update ForumVO.java

王刚注释
pz2femycj 4 months ago
parent 68613f0b1e
commit b7b1e7669b

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