feature/lxy
lxy 4 months ago
parent dcb72d91c3
commit 519807d162

@ -1,200 +1,183 @@
// 声明该类所在的包名为 com.entity通常用于存放实体类相关代码
package com.entity; package com.entity;
// 导入 MyBatis-Plus 框架的 TableId 注解,用于标识数据库表的主键字段
import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableId;
// 导入 MyBatis-Plus 框架的 TableName 注解,用于指定实体类对应的数据库表名
import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.annotations.TableName;
// 导入 JSR-303 验证框架中的 NotBlank 注解,用于确保字符串字段不为空且去除首尾空格后长度大于 0
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
// 导入 JSR-303 验证框架中的 NotEmpty 注解,用于确保集合、数组或字符串等不为空
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
// 导入 JSR-303 验证框架中的 NotNull 注解,用于确保对象字段不为空
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
// 导入 Jackson 库的 JsonIgnoreProperties 注解,用于在序列化和反序列化时忽略指定属性
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
// 导入反射操作中可能抛出的 InvocationTargetException 异常类
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
// 导入 Serializable 接口,实现该接口的类的对象可进行序列化和反序列化操作
import java.io.Serializable; import java.io.Serializable;
// 导入 Date 类,用于处理日期和时间相关的数据
import java.util.Date; import java.util.Date;
// 导入 List 接口,用于表示一组对象的集合
import java.util.List; import java.util.List;
// 导入 Spring 框架的 DateTimeFormat 注解,用于指定日期在接收参数时的格式
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
// 导入 Jackson 库的 JsonFormat 注解,用于指定日期在序列化时的格式
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
// 导入 Apache Commons BeanUtils 工具类,用于复制 JavaBean 的属性
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
// 导入 MyBatis-Plus 框架的 TableField 注解,用于设置字段在数据库表中的相关属性
import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableField;
// 导入 MyBatis-Plus 框架的 FieldFill 枚举,用于指定字段的填充策略
import com.baomidou.mybatisplus.enums.FieldFill; import com.baomidou.mybatisplus.enums.FieldFill;
// 导入 MyBatis-Plus 框架的 IdType 枚举,用于指定主键的生成策略
import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.enums.IdType;
// 该类表示酒店简介的数据库实体类,用于普通的增删改查操作
/** // 作者信息暂未填写
* // 邮箱信息暂未填写
* // 创建日期为 2022-04-04 00:20:04
* @author
* @email
* @date 2022-04-04 00:20:04
*/
@TableName("jiudianjianjie") @TableName("jiudianjianjie")
public class JiudianjianjieEntity<T> implements Serializable { public class JiudianjianjieEntity<T> implements Serializable {
// 定义序列化版本号,用于在序列化和反序列化过程中保持类的版本一致性
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// 无参构造函数,用于创建 JiudianjianjieEntity 对象时不传入任何参数
public JiudianjianjieEntity() { public JiudianjianjieEntity() {
} }
// 带参数的构造函数,通过传入的泛型对象 t 复制属性到当前对象
public JiudianjianjieEntity(T t) { public JiudianjianjieEntity(T t) {
try { try {
// 使用 BeanUtils 的 copyProperties 方法将 t 对象的属性复制到当前对象
BeanUtils.copyProperties(this, t); BeanUtils.copyProperties(this, t);
} catch (IllegalAccessException | InvocationTargetException e) { } catch (IllegalAccessException | InvocationTargetException e) {
// TODO Auto-generated catch block // 如果在复制属性过程中出现非法访问异常或反射调用目标异常
// 简单打印异常堆栈信息,后续可根据实际情况完善异常处理逻辑
e.printStackTrace(); e.printStackTrace();
} }
} }
/** // 使用 TableId 注解标识该字段为主键
* id // 主键 id用于唯一标识数据库表中的每条记录
*/
@TableId @TableId
private Long id; private Long id;
/**
* // 酒店名称字段,用于存储酒店的名称
*/
private String jiudianmingcheng; private String jiudianmingcheng;
/** // 酒店类别字段,用于存储酒店所属的类别信息
*
*/
private String leibie; private String leibie;
/** // 酒店星级字段,用于存储酒店的星级标识
*
*/
private String xingji; private String xingji;
/** // 酒店图片字段,用于存储酒店相关图片的信息(如图片路径等)
*
*/
private String jiudiantupian; private String jiudiantupian;
/** // 酒店地址字段,用于存储酒店的具体地址信息
*
*/
private String jiudiandizhi; private String jiudiandizhi;
/** // 服务热线字段,用于存储酒店的服务热线电话号码
* 线
*/
private String fuwurexian; private String fuwurexian;
/** // 酒店介绍字段,用于存储对酒店的详细介绍内容
*
*/
private String jiudianjieshao; private String jiudianjieshao;
// 使用 JsonFormat 注解指定日期在序列化时的格式为 "yyyy-MM-dd HH:mm:ss",时区为 GMT+8
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") // 使用 DateTimeFormat 注解,用于处理日期格式相关的转换
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat @DateTimeFormat
private Date addtime; private Date addtime;
// 获取记录添加时间的方法
public Date getAddtime() { public Date getAddtime() {
return addtime; return addtime;
} }
// 设置记录添加时间的方法
public void setAddtime(Date addtime) { public void setAddtime(Date addtime) {
this.addtime = addtime; this.addtime = addtime;
} }
// 获取主键 id 的方法
public Long getId() { public Long getId() {
return id; return id;
} }
// 设置主键 id 的方法
public void setId(Long id) { public void setId(Long id) {
this.id = id; this.id = id;
} }
/**
* // 设置酒店名称的方法
*/
public void setJiudianmingcheng(String jiudianmingcheng) { public void setJiudianmingcheng(String jiudianmingcheng) {
this.jiudianmingcheng = jiudianmingcheng; this.jiudianmingcheng = jiudianmingcheng;
} }
/**
* // 获取酒店名称的方法
*/
public String getJiudianmingcheng() { public String getJiudianmingcheng() {
return jiudianmingcheng; return jiudianmingcheng;
} }
/**
* // 设置酒店类别的方法
*/
public void setLeibie(String leibie) { public void setLeibie(String leibie) {
this.leibie = leibie; this.leibie = leibie;
} }
/**
* // 获取酒店类别的方法
*/
public String getLeibie() { public String getLeibie() {
return leibie; return leibie;
} }
/**
* // 设置酒店星级的方法
*/
public void setXingji(String xingji) { public void setXingji(String xingji) {
this.xingji = xingji; this.xingji = xingji;
} }
/**
* // 获取酒店星级的方法
*/
public String getXingji() { public String getXingji() {
return xingji; return xingji;
} }
/**
* // 设置酒店图片的方法
*/
public void setJiudiantupian(String jiudiantupian) { public void setJiudiantupian(String jiudiantupian) {
this.jiudiantupian = jiudiantupian; this.jiudiantupian = jiudiantupian;
} }
/**
* // 获取酒店图片的方法
*/
public String getJiudiantupian() { public String getJiudiantupian() {
return jiudiantupian; return jiudiantupian;
} }
/**
* // 设置酒店地址的方法
*/
public void setJiudiandizhi(String jiudiandizhi) { public void setJiudiandizhi(String jiudiandizhi) {
this.jiudiandizhi = jiudiandizhi; this.jiudiandizhi = jiudiandizhi;
} }
/**
* // 获取酒店地址的方法
*/
public String getJiudiandizhi() { public String getJiudiandizhi() {
return jiudiandizhi; return jiudiandizhi;
} }
/**
* 线 // 设置服务热线的方法
*/
public void setFuwurexian(String fuwurexian) { public void setFuwurexian(String fuwurexian) {
this.fuwurexian = fuwurexian; this.fuwurexian = fuwurexian;
} }
/**
* 线 // 获取服务热线的方法
*/
public String getFuwurexian() { public String getFuwurexian() {
return fuwurexian; return fuwurexian;
} }
/**
* // 设置酒店介绍的方法
*/
public void setJiudianjieshao(String jiudianjieshao) { public void setJiudianjieshao(String jiudianjieshao) {
this.jiudianjieshao = jiudianjieshao; this.jiudianjieshao = jiudianjieshao;
} }
/**
* // 获取酒店介绍的方法
*/
public String getJiudianjieshao() { public String getJiudianjieshao() {
return jiudianjieshao; return jiudianjieshao;
} }
}
}

@ -1,254 +1,223 @@
// 声明该类所属的包名为 com.entity通常用于存放与数据库实体相关的类
package com.entity; package com.entity;
// 导入 MyBatis-Plus 框架的 TableId 注解,用于指定数据库表的主键字段
import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableId;
// 导入 MyBatis-Plus 框架的 TableName 注解,用于指定该实体类对应的数据库表名
import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.annotations.TableName;
// 导入 JSR-303 验证注解NotBlank 用于验证字符串不为 null 且去除首尾空格后长度大于 0
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
// 导入 JSR-303 验证注解NotEmpty 用于验证集合、数组、字符串等不为空
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
// 导入 JSR-303 验证注解NotNull 用于验证对象不为 null
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
// 导入 Jackson 库的 JsonIgnoreProperties 注解,用于在序列化和反序列化时忽略某些属性
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
// 导入反射调用时可能抛出的 InvocationTargetException 异常类
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
// 导入 Serializable 接口,实现该接口的类的对象可以被序列化和反序列化
import java.io.Serializable; import java.io.Serializable;
// 导入 Date 类,用于处理日期和时间
import java.util.Date; import java.util.Date;
// 导入 List 接口,用于表示一组对象
import java.util.List; import java.util.List;
// 导入 Spring 框架的 DateTimeFormat 注解,用于指定日期在接收时的格式
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
// 导入 Jackson 库的 JsonFormat 注解,用于指定日期在序列化时的格式
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
// 导入 Apache Commons BeanUtils 工具类,用于进行 JavaBean 属性的复制操作
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
// 导入 MyBatis-Plus 框架的 TableField 注解,用于指定字段在数据库表中的一些属性
import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableField;
// 导入 MyBatis-Plus 框架的 FieldFill 枚举,用于指定字段的填充策略
import com.baomidou.mybatisplus.enums.FieldFill; import com.baomidou.mybatisplus.enums.FieldFill;
// 导入 MyBatis-Plus 框架的 IdType 枚举,用于指定主键的生成策略
import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.enums.IdType;
// 该类表示酒店客房的数据库通用操作实体类,可进行普通的增删改查操作
/** // @author 作者信息未填写
* // @email 邮箱信息未填写
* // @date 2022-04-04 00:20:04
* @author
* @email
* @date 2022-04-04 00:20:04
*/
@TableName("jiudiankefang") @TableName("jiudiankefang")
public class JiudiankefangEntity<T> implements Serializable { public class JiudiankefangEntity<T> implements Serializable {
// 定义序列化版本号,用于在序列化和反序列化过程中确保类的版本一致性
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// 无参构造函数,用于创建 JiudiankefangEntity 对象时不传入任何参数
public JiudiankefangEntity() { public JiudiankefangEntity() {
} }
// 带参数的构造函数,通过传入的泛型对象 t 来复制属性到当前对象
public JiudiankefangEntity(T t) { public JiudiankefangEntity(T t) {
try { try {
// 调用 BeanUtils 的 copyProperties 方法,将 t 对象的属性复制到当前对象this
BeanUtils.copyProperties(this, t); BeanUtils.copyProperties(this, t);
} catch (IllegalAccessException | InvocationTargetException e) { } catch (IllegalAccessException | InvocationTargetException e) {
// 如果在复制属性过程中出现非法访问异常或反射调用目标异常
// 此处仅简单打印异常堆栈信息,后续可根据实际情况完善异常处理逻辑
// TODO Auto-generated catch block // TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }
} }
/** // 使用 TableId 注解指定该字段为主键
* id // 主键 id用于唯一标识数据库表中的每一条记录
*/
@TableId @TableId
private Long id; private Long id;
/**
* // 客房名称字段,用于存储客房的名称
*/
private String kefangmingcheng; private String kefangmingcheng;
/** // 客房类型字段,用于存储客房的类型信息
*
*/
private String kefangleixing; private String kefangleixing;
/** // 客房图片字段,用于存储客房相关图片的信息(如图片路径等)
*
*/
private String kefangtupian; private String kefangtupian;
/** // 客房价格字段,用于存储客房的价格,类型为 Float
*
*/
private Float kefangjiage; private Float kefangjiage;
/** // 数量字段,用于存储客房的数量,类型为 Integer
*
*/
private Integer shuliang; private Integer shuliang;
/** // 酒店名称字段,用于存储客房所属酒店的名称
*
*/
private String jiudianmingcheng; private String jiudianmingcheng;
/** // 酒店地址字段,用于存储客房所属酒店的地址
*
*/
private String jiudiandizhi; private String jiudiandizhi;
/** // 客房设施字段,用于存储客房所配备的设施信息
*
*/
private String kefangsheshi; private String kefangsheshi;
/** // 客房介绍字段,用于存储对客房的详细介绍内容
*
*/
private String kefangjieshao; private String kefangjieshao;
/** // 点击次数字段,用于记录该客房被点击的次数,类型为 Integer
*
*/
private Integer clicknum; private Integer clicknum;
// 使用 JsonFormat 注解指定日期在序列化时的格式为 "yyyy-MM-dd HH:mm:ss",时区为 GMT+8
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") // 使用 DateTimeFormat 注解,用于在处理日期相关数据时指定接收格式
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat @DateTimeFormat
private Date addtime; private Date addtime;
// 获取记录添加时间的方法
public Date getAddtime() { public Date getAddtime() {
return addtime; return addtime;
} }
// 设置记录添加时间的方法
public void setAddtime(Date addtime) { public void setAddtime(Date addtime) {
this.addtime = addtime; this.addtime = addtime;
} }
// 获取主键 id 的方法
public Long getId() { public Long getId() {
return id; return id;
} }
// 设置主键 id 的方法
public void setId(Long id) { public void setId(Long id) {
this.id = id; this.id = id;
} }
/**
* // 设置客房名称的方法
*/
public void setKefangmingcheng(String kefangmingcheng) { public void setKefangmingcheng(String kefangmingcheng) {
this.kefangmingcheng = kefangmingcheng; this.kefangmingcheng = kefangmingcheng;
} }
/**
* // 获取客房名称的方法
*/
public String getKefangmingcheng() { public String getKefangmingcheng() {
return kefangmingcheng; return kefangmingcheng;
} }
/**
* // 设置客房类型的方法
*/
public void setKefangleixing(String kefangleixing) { public void setKefangleixing(String kefangleixing) {
this.kefangleixing = kefangleixing; this.kefangleixing = kefangleixing;
} }
/**
* // 获取客房类型的方法
*/
public String getKefangleixing() { public String getKefangleixing() {
return kefangleixing; return kefangleixing;
} }
/**
* // 设置客房图片的方法
*/
public void setKefangtupian(String kefangtupian) { public void setKefangtupian(String kefangtupian) {
this.kefangtupian = kefangtupian; this.kefangtupian = kefangtupian;
} }
/**
* // 获取客房图片的方法
*/
public String getKefangtupian() { public String getKefangtupian() {
return kefangtupian; return kefangtupian;
} }
/**
* // 设置客房价格的方法
*/
public void setKefangjiage(Float kefangjiage) { public void setKefangjiage(Float kefangjiage) {
this.kefangjiage = kefangjiage; this.kefangjiage = kefangjiage;
} }
/**
* // 获取客房价格的方法
*/
public Float getKefangjiage() { public Float getKefangjiage() {
return kefangjiage; return kefangjiage;
} }
/**
* // 设置数量的方法
*/
public void setShuliang(Integer shuliang) { public void setShuliang(Integer shuliang) {
this.shuliang = shuliang; this.shuliang = shuliang;
} }
/**
* // 获取数量的方法
*/
public Integer getShuliang() { public Integer getShuliang() {
return shuliang; return shuliang;
} }
/**
* // 设置酒店名称的方法
*/
public void setJiudianmingcheng(String jiudianmingcheng) { public void setJiudianmingcheng(String jiudianmingcheng) {
this.jiudianmingcheng = jiudianmingcheng; this.jiudianmingcheng = jiudianmingcheng;
} }
/**
* // 获取酒店名称的方法
*/
public String getJiudianmingcheng() { public String getJiudianmingcheng() {
return jiudianmingcheng; return jiudianmingcheng;
} }
/**
* // 设置酒店地址的方法
*/
public void setJiudiandizhi(String jiudiandizhi) { public void setJiudiandizhi(String jiudiandizhi) {
this.jiudiandizhi = jiudiandizhi; this.jiudiandizhi = jiudiandizhi;
} }
/**
* // 获取酒店地址的方法
*/
public String getJiudiandizhi() { public String getJiudiandizhi() {
return jiudiandizhi; return jiudiandizhi;
} }
/**
* // 设置客房设施的方法
*/
public void setKefangsheshi(String kefangsheshi) { public void setKefangsheshi(String kefangsheshi) {
this.kefangsheshi = kefangsheshi; this.kefangsheshi = kefangsheshi;
} }
/**
* // 获取客房设施的方法
*/
public String getKefangsheshi() { public String getKefangsheshi() {
return kefangsheshi; return kefangsheshi;
} }
/**
* // 设置客房介绍的方法
*/
public void setKefangjieshao(String kefangjieshao) { public void setKefangjieshao(String kefangjieshao) {
this.kefangjieshao = kefangjieshao; this.kefangjieshao = kefangjieshao;
} }
/**
* // 获取客房介绍的方法
*/
public String getKefangjieshao() { public String getKefangjieshao() {
return kefangjieshao; return kefangjieshao;
} }
/**
* // 设置点击次数的方法
*/
public void setClicknum(Integer clicknum) { public void setClicknum(Integer clicknum) {
this.clicknum = clicknum; this.clicknum = clicknum;
} }
/**
* // 获取点击次数的方法
*/
public Integer getClicknum() { public Integer getClicknum() {
return clicknum; return clicknum;
} }
}
}

@ -1,92 +1,110 @@
// 声明该类所属的包为 com.entity一般用于存放实体类相关代码
package com.entity; package com.entity;
// 导入 MyBatis-Plus 框架的 TableId 注解,用于标识数据库表的主键字段
import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableId;
// 导入 MyBatis-Plus 框架的 TableName 注解,用于指定实体类对应的数据库表名
import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.annotations.TableName;
// 导入 JSR-303 验证框架中的 NotBlank 注解,用于确保字符串字段不为空且去除首尾空格后长度大于 0
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
// 导入 JSR-303 验证框架中的 NotEmpty 注解,用于确保集合、数组或字符串等不为空
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
// 导入 JSR-303 验证框架中的 NotNull 注解,用于确保对象字段不为空
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
// 导入 Jackson 库的 JsonIgnoreProperties 注解,用于在序列化和反序列化时忽略指定属性
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
// 导入反射操作中可能抛出的 InvocationTargetException 异常类
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
// 导入 Serializable 接口,实现该接口的类的对象可进行序列化和反序列化操作
import java.io.Serializable; import java.io.Serializable;
// 导入 Date 类,用于处理日期和时间相关的数据
import java.util.Date; import java.util.Date;
// 导入 List 接口,用于表示一组对象的集合(虽然此处未实际使用,但导入了该包)
import java.util.List; import java.util.List;
// 导入 Spring 框架的 DateTimeFormat 注解,用于指定日期在接收参数时的格式
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
// 导入 Jackson 库的 JsonFormat 注解,用于指定日期在序列化时的格式
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
// 导入 Apache Commons BeanUtils 工具类,用于复制 JavaBean 的属性
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
// 导入 MyBatis-Plus 框架的 TableField 注解,用于设置字段在数据库表中的相关属性(虽然此处未实际使用,但导入了该包)
import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableField;
// 导入 MyBatis-Plus 框架的 FieldFill 枚举,用于指定字段的填充策略(虽然此处未实际使用,但导入了该包)
import com.baomidou.mybatisplus.enums.FieldFill; import com.baomidou.mybatisplus.enums.FieldFill;
// 导入 MyBatis-Plus 框架的 IdType 枚举,用于指定主键的生成策略
import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.enums.IdType;
/** /**
* *
* *
* @author * @author
* @email * @email
* @date 2022-04-04 00:20:04 * @date 2022-04-04 00:20:04
*/ */
// 使用 TableName 注解指定该实体类对应的数据库表名为 "kefangleixing"
@TableName("kefangleixing") @TableName("kefangleixing")
// 定义 KefangleixingEntity 类,使用泛型 T实现 Serializable 接口
public class KefangleixingEntity<T> implements Serializable { public class KefangleixingEntity<T> implements Serializable {
// 定义序列化版本号,用于在序列化和反序列化过程中保持类的版本一致性
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// 无参构造函数,用于创建 KefangleixingEntity 对象时不传入任何参数
public KefangleixingEntity() { public KefangleixingEntity() {
} }
// 带参数的构造函数,通过传入的泛型对象 t 复制属性到当前对象
public KefangleixingEntity(T t) { public KefangleixingEntity(T t) {
try { try {
// 使用 BeanUtils 的 copyProperties 方法将 t 对象的属性复制到当前对象
BeanUtils.copyProperties(this, t); BeanUtils.copyProperties(this, t);
} catch (IllegalAccessException | InvocationTargetException e) { } catch (IllegalAccessException | InvocationTargetException e) {
// TODO Auto-generated catch block // 如果在复制属性过程中出现非法访问异常或反射调用目标异常
// 简单打印异常堆栈信息,后续可根据实际情况完善异常处理逻辑
e.printStackTrace(); e.printStackTrace();
} }
} }
/** // 使用 TableId 注解标识该字段为主键
* id // 主键 id用于唯一标识数据库表中的每条记录
*/
@TableId @TableId
private Long id; private Long id;
/**
* // 客房类型字段,用于存储客房的类型信息
*/
private String kefangleixing; private String kefangleixing;
// 使用 JsonFormat 注解指定日期在序列化时的格式为 "yyyy-MM-dd HH:mm:ss",时区为 GMT+8
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") // 使用 DateTimeFormat 注解,用于处理日期格式相关的转换
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat @DateTimeFormat
private Date addtime; private Date addtime;
// 获取记录添加时间的方法
public Date getAddtime() { public Date getAddtime() {
return addtime; return addtime;
} }
// 设置记录添加时间的方法
public void setAddtime(Date addtime) { public void setAddtime(Date addtime) {
this.addtime = addtime; this.addtime = addtime;
} }
// 获取主键 id 的方法
public Long getId() { public Long getId() {
return id; return id;
} }
// 设置主键 id 的方法
public void setId(Long id) { public void setId(Long id) {
this.id = id; this.id = id;
} }
/**
* // 设置客房类型的方法
*/
public void setKefangleixing(String kefangleixing) { public void setKefangleixing(String kefangleixing) {
this.kefangleixing = kefangleixing; this.kefangleixing = kefangleixing;
} }
/**
* // 获取客房类型的方法
*/
public String getKefangleixing() { public String getKefangleixing() {
return kefangleixing; return kefangleixing;
} }
}
}

@ -1,328 +1,282 @@
// 声明该类所属的包名为 com.entity一般用于存放实体类相关的代码
package com.entity; package com.entity;
// 导入 MyBatis-Plus 框架的 TableId 注解,用于标识数据库表的主键字段
import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableId;
// 导入 MyBatis-Plus 框架的 TableName 注解,用于指定实体类对应的数据库表名
import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.annotations.TableName;
// 导入 JSR-303 验证框架中的 NotBlank 注解,用于确保字符串字段不为空且去除首尾空格后长度大于 0
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
// 导入 JSR-303 验证框架中的 NotEmpty 注解,用于确保集合、数组或字符串等不为空
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
// 导入 JSR-303 验证框架中的 NotNull 注解,用于确保对象字段不为空
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
// 导入 Jackson 库的 JsonIgnoreProperties 注解,用于在序列化和反序列化时忽略指定属性
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
// 导入反射操作中可能抛出的 InvocationTargetException 异常类
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
// 导入 Serializable 接口,实现该接口的类的对象可进行序列化和反序列化操作
import java.io.Serializable; import java.io.Serializable;
// 导入 Date 类,用于处理日期和时间相关的数据
import java.util.Date; import java.util.Date;
// 导入 List 接口,用于表示一组对象的集合(虽然在当前代码中未实际使用该接口相关功能,但导入了对应的包)
import java.util.List; import java.util.List;
// 导入 Spring 框架的 DateTimeFormat 注解,用于指定日期在接收参数时的格式
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
// 导入 Jackson 库的 JsonFormat 注解,用于指定日期在序列化时的格式
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
// 导入 Apache Commons BeanUtils 工具类,用于复制 JavaBean 的属性
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
// 导入 MyBatis-Plus 框架的 TableField 注解,用于设置字段在数据库表中的相关属性(当前代码未实际使用该注解,但导入了对应的包)
import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableField;
// 导入 MyBatis-Plus 框架的 FieldFill 枚举,用于指定字段的填充策略(当前代码未实际使用该枚举,但导入了对应的包)
import com.baomidou.mybatisplus.enums.FieldFill; import com.baomidou.mybatisplus.enums.FieldFill;
// 导入 MyBatis-Plus 框架的 IdType 枚举,用于指定主键的生成策略
import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.enums.IdType;
/** /**
* *
* *
* @author * @author
* @email * @email
* @date 2022-04-04 00:20:04 * @date 2022-04-04 00:20:04
*/ */
// 使用 TableName 注解指定该实体类对应的数据库表名为 "kefangyuding"
@TableName("kefangyuding") @TableName("kefangyuding")
// 定义 KefangyudingEntity 类,使用泛型 T实现 Serializable 接口
public class KefangyudingEntity<T> implements Serializable { public class KefangyudingEntity<T> implements Serializable {
// 定义序列化版本号,用于在序列化和反序列化过程中保持类的版本一致性
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// 无参构造函数,用于创建 KefangyudingEntity 对象时不传入任何参数
public KefangyudingEntity() { public KefangyudingEntity() {
} }
// 带参数的构造函数,通过传入的泛型对象 t 复制属性到当前对象
public KefangyudingEntity(T t) { public KefangyudingEntity(T t) {
try { try {
// 使用 BeanUtils 的 copyProperties 方法将 t 对象的属性复制到当前对象
BeanUtils.copyProperties(this, t); BeanUtils.copyProperties(this, t);
} catch (IllegalAccessException | InvocationTargetException e) { } catch (IllegalAccessException | InvocationTargetException e) {
// TODO Auto-generated catch block // 如果在复制属性过程中出现非法访问异常或反射调用目标异常
// 简单打印异常堆栈信息,后续可根据实际情况完善异常处理逻辑
e.printStackTrace(); e.printStackTrace();
} }
} }
/** // 使用 TableId 注解标识该字段为主键
* id // 主键 id用于唯一标识数据库表中的每条记录
*/
@TableId @TableId
private Long id; private Long id;
/**
* // 预定编号字段,用于存储客房预定的编号信息
*/
private String yudingbianhao; private String yudingbianhao;
/** // 客房名称字段,用于存储所预定客房的名称
*
*/
private String kefangmingcheng; private String kefangmingcheng;
/** // 客房类型字段,用于存储所预定客房的类型
*
*/
private String kefangleixing; private String kefangleixing;
/** // 客房价格字段,用于存储所预定客房的价格,数据类型为 Float
*
*/
private Float kefangjiage; private Float kefangjiage;
/** // 数量字段,用于存储预定客房的数量,数据类型为 Integer
*
*/
private Integer shuliang; private Integer shuliang;
/** // 总金额字段,用于存储预定客房的总金额,数据类型为 Float
*
*/
private Float zongjine; private Float zongjine;
/** // 客房图片字段,用于存储所预定客房相关图片的信息(如图片路径等)
*
*/
private String kefangtupian; private String kefangtupian;
/** // 酒店名称字段,用于存储所预定客房所属酒店的名称
*
*/
private String jiudianmingcheng; private String jiudianmingcheng;
/** // 酒店地址字段,用于存储所预定客房所属酒店的地址
*
*/
private String jiudiandizhi; private String jiudiandizhi;
/** // 用户名字段,用于存储进行客房预定的用户的用户名
*
*/
private String yonghuming; private String yonghuming;
/** // 姓名字段,用于存储进行客房预定的用户的姓名
*
*/
private String xingming; private String xingming;
/** // 手机号字段,用于存储进行客房预定的用户的手机号码
*
*/
private String shoujihao; private String shoujihao;
/** // 预定日期字段,使用 JsonFormat 注解指定日期在序列化时的格式为 "yyyy-MM-dd",时区为 GMT+8
* // 使用 DateTimeFormat 注解,用于处理日期格式相关的转换
*/ @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
@DateTimeFormat
private Date yudingriqi; private Date yudingriqi;
/** // 是否支付字段,用于标识该客房预定是否已经支付,数据类型为 String
*
*/
private String ispay; private String ispay;
// 记录添加时间字段,使用 JsonFormat 注解指定日期在序列化时的格式为 "yyyy-MM-dd HH:mm:ss",时区为 GMT+8
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") // 使用 DateTimeFormat 注解,用于处理日期格式相关的转换
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat @DateTimeFormat
private Date addtime; private Date addtime;
// 获取记录添加时间的方法
public Date getAddtime() { public Date getAddtime() {
return addtime; return addtime;
} }
// 设置记录添加时间的方法
public void setAddtime(Date addtime) { public void setAddtime(Date addtime) {
this.addtime = addtime; this.addtime = addtime;
} }
// 获取主键 id 的方法
public Long getId() { public Long getId() {
return id; return id;
} }
// 设置主键 id 的方法
public void setId(Long id) { public void setId(Long id) {
this.id = id; this.id = id;
} }
/**
* // 设置预定编号的方法
*/
public void setYudingbianhao(String yudingbianhao) { public void setYudingbianhao(String yudingbianhao) {
this.yudingbianhao = yudingbianhao; this.yudingbianhao = yudingbianhao;
} }
/**
* // 获取预定编号的方法
*/
public String getYudingbianhao() { public String getYudingbianhao() {
return yudingbianhao; return yudingbianhao;
} }
/**
* // 设置客房名称的方法
*/
public void setKefangmingcheng(String kefangmingcheng) { public void setKefangmingcheng(String kefangmingcheng) {
this.kefangmingcheng = kefangmingcheng; this.kefangmingcheng = kefangmingcheng;
} }
/**
* // 获取客房名称的方法
*/
public String getKefangmingcheng() { public String getKefangmingcheng() {
return kefangmingcheng; return kefangmingcheng;
} }
/**
* // 设置客房类型的方法
*/
public void setKefangleixing(String kefangleixing) { public void setKefangleixing(String kefangleixing) {
this.kefangleixing = kefangleixing; this.kefangleixing = kefangleixing;
} }
/**
* // 获取客房类型的方法
*/
public String getKefangleixing() { public String getKefangleixing() {
return kefangleixing; return kefangleixing;
} }
/**
* // 设置客房价格的方法
*/
public void setKefangjiage(Float kefangjiage) { public void setKefangjiage(Float kefangjiage) {
this.kefangjiage = kefangjiage; this.kefangjiage = kefangjiage;
} }
/**
* // 获取客房价格的方法
*/
public Float getKefangjiage() { public Float getKefangjiage() {
return kefangjiage; return kefangjiage;
} }
/**
* // 设置数量的方法
*/
public void setShuliang(Integer shuliang) { public void setShuliang(Integer shuliang) {
this.shuliang = shuliang; this.shuliang = shuliang;
} }
/**
* // 获取数量的方法
*/
public Integer getShuliang() { public Integer getShuliang() {
return shuliang; return shuliang;
} }
/**
* // 设置总金额的方法
*/
public void setZongjine(Float zongjine) { public void setZongjine(Float zongjine) {
this.zongjine = zongjine; this.zongjine = zongjine;
} }
/**
* // 获取总金额的方法
*/
public Float getZongjine() { public Float getZongjine() {
return zongjine; return zongjine;
} }
/**
* // 设置客房图片的方法
*/
public void setKefangtupian(String kefangtupian) { public void setKefangtupian(String kefangtupian) {
this.kefangtupian = kefangtupian; this.kefangtupian = kefangtupian;
} }
/**
* // 获取客房图片的方法
*/
public String getKefangtupian() { public String getKefangtupian() {
return kefangtupian; return kefangtupian;
} }
/**
* // 设置酒店名称的方法
*/
public void setJiudianmingcheng(String jiudianmingcheng) { public void setJiudianmingcheng(String jiudianmingcheng) {
this.jiudianmingcheng = jiudianmingcheng; this.jiudianmingcheng = jiudianmingcheng;
} }
/**
* // 获取酒店名称的方法
*/
public String getJiudianmingcheng() { public String getJiudianmingcheng() {
return jiudianmingcheng; return jiudianmingcheng;
} }
/**
* // 设置酒店地址的方法
*/
public void setJiudiandizhi(String jiudiandizhi) { public void setJiudiandizhi(String jiudiandizhi) {
this.jiudiandizhi = jiudiandizhi; this.jiudiandizhi = jiudiandizhi;
} }
/**
* // 获取酒店地址的方法
*/
public String getJiudiandizhi() { public String getJiudiandizhi() {
return jiudiandizhi; return jiudiandizhi;
} }
/**
* // 设置用户名的方法
*/
public void setYonghuming(String yonghuming) { public void setYonghuming(String yonghuming) {
this.yonghuming = yonghuming; this.yonghuming = yonghuming;
} }
/**
* // 获取用户名的方法
*/
public String getYonghuming() { public String getYonghuming() {
return yonghuming; return yonghuming;
} }
/**
* // 设置姓名的方法
*/
public void setXingming(String xingming) { public void setXingming(String xingming) {
this.xingming = xingming; this.xingming = xingming;
} }
/**
* // 获取姓名的方法
*/
public String getXingming() { public String getXingming() {
return xingming; return xingming;
} }
/**
* // 设置手机号的方法
*/
public void setShoujihao(String shoujihao) { public void setShoujihao(String shoujihao) {
this.shoujihao = shoujihao; this.shoujihao = shoujihao;
} }
/**
* // 获取手机号的方法
*/
public String getShoujihao() { public String getShoujihao() {
return shoujihao; return shoujihao;
} }
/**
* // 设置预定日期的方法
*/
public void setYudingriqi(Date yudingriqi) { public void setYudingriqi(Date yudingriqi) {
this.yudingriqi = yudingriqi; this.yudingriqi = yudingriqi;
} }
/**
* // 获取预定日期的方法
*/
public Date getYudingriqi() { public Date getYudingriqi() {
return yudingriqi; return yudingriqi;
} }
/**
* // 设置是否支付的方法
*/
public void setIspay(String ispay) { public void setIspay(String ispay) {
this.ispay = ispay; this.ispay = ispay;
} }
/**
* // 获取是否支付的方法
*/
public String getIspay() { public String getIspay() {
return ispay; return ispay;
} }
}
}

@ -1,146 +1,149 @@
// 声明该类所属的包名为 com.entity一般用于存放与数据库操作相关的实体类
package com.entity; package com.entity;
// 导入 MyBatis-Plus 框架的 TableId 注解,用于标识数据库表的主键字段
import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableId;
// 导入 MyBatis-Plus 框架的 TableName 注解,用于指定实体类对应的数据库表名
import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.annotations.TableName;
// 导入 JSR-303 验证框架中的 NotBlank 注解,用于确保字符串字段不为空且去除首尾空格后长度大于 0
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
// 导入 JSR-303 验证框架中的 NotEmpty 注解,用于确保集合、数组或字符串等不为空
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
// 导入 JSR-303 验证框架中的 NotNull 注解,用于确保对象字段不为空
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
// 导入 Jackson 库的 JsonIgnoreProperties 注解,用于在序列化和反序列化时忽略指定属性
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
// 导入反射操作中可能抛出的 InvocationTargetException 异常类
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
// 导入 Serializable 接口,实现该接口的类的对象可进行序列化和反序列化操作
import java.io.Serializable; import java.io.Serializable;
// 导入 Date 类,用于处理日期和时间相关的数据
import java.util.Date; import java.util.Date;
// 导入 List 接口,用于表示一组对象的集合(虽然当前代码未使用该接口相关功能,但导入了对应的包)
import java.util.List; import java.util.List;
// 导入 Spring 框架的 DateTimeFormat 注解,用于指定日期在接收参数时的格式
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
// 导入 Jackson 库的 JsonFormat 注解,用于指定日期在序列化时的格式
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
// 导入 Apache Commons BeanUtils 工具类,用于复制 JavaBean 的属性
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
// 导入 MyBatis-Plus 框架的 TableField 注解,用于设置字段在数据库表中的相关属性(当前代码未使用该注解,但导入了对应的包)
import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableField;
// 导入 MyBatis-Plus 框架的 FieldFill 枚举,用于指定字段的填充策略(当前代码未使用该枚举,但导入了对应的包)
import com.baomidou.mybatisplus.enums.FieldFill; import com.baomidou.mybatisplus.enums.FieldFill;
// 导入 MyBatis-Plus 框架的 IdType 枚举,用于指定主键的生成策略
import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.enums.IdType;
/** /**
* *
* *
* @author * @author
* @email * @email
* @date 2022-04-04 00:20:04 * @date 2022-04-04 00:20:04
*/ */
// 使用 TableName 注解指定该实体类对应的数据库表名为 "news"
@TableName("news") @TableName("news")
// 定义 NewsEntity 类,使用泛型 T实现 Serializable 接口
public class NewsEntity<T> implements Serializable { public class NewsEntity<T> implements Serializable {
// 定义序列化版本号,用于在序列化和反序列化过程中保持类的版本一致性
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// 无参构造函数,用于创建 NewsEntity 对象时不传入任何参数
public NewsEntity() { public NewsEntity() {
} }
// 带参数的构造函数,通过传入的泛型对象 t 复制属性到当前对象
public NewsEntity(T t) { public NewsEntity(T t) {
try { try {
// 使用 BeanUtils 的 copyProperties 方法将 t 对象的属性复制到当前对象
BeanUtils.copyProperties(this, t); BeanUtils.copyProperties(this, t);
} catch (IllegalAccessException | InvocationTargetException e) { } catch (IllegalAccessException | InvocationTargetException e) {
// TODO Auto-generated catch block // 如果在复制属性过程中出现非法访问异常或反射调用目标异常
// 简单打印异常堆栈信息,后续可根据实际情况完善异常处理逻辑
e.printStackTrace(); e.printStackTrace();
} }
} }
/** // 使用 TableId 注解标识该字段为主键
* id // 主键 id用于唯一标识数据库表中的每条记录
*/
@TableId @TableId
private Long id; private Long id;
/**
* // 标题字段,用于存储酒店公告的标题信息
*/
private String title; private String title;
/** // 简介字段,用于存储酒店公告的简要介绍内容
*
*/
private String introduction; private String introduction;
/** // 图片字段,用于存储酒店公告相关图片的信息(如图片路径等)
*
*/
private String picture; private String picture;
/** // 内容字段,用于存储酒店公告的具体内容
*
*/
private String content; private String content;
// 使用 JsonFormat 注解指定日期在序列化时的格式为 "yyyy-MM-dd HH:mm:ss",时区为 GMT+8
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") // 使用 DateTimeFormat 注解,用于处理日期格式相关的转换
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat @DateTimeFormat
private Date addtime; private Date addtime;
// 获取记录添加时间的方法
public Date getAddtime() { public Date getAddtime() {
return addtime; return addtime;
} }
// 设置记录添加时间的方法
public void setAddtime(Date addtime) { public void setAddtime(Date addtime) {
this.addtime = addtime; this.addtime = addtime;
} }
// 获取主键 id 的方法
public Long getId() { public Long getId() {
return id; return id;
} }
// 设置主键 id 的方法
public void setId(Long id) { public void setId(Long id) {
this.id = id; this.id = id;
} }
/**
* // 设置标题的方法
*/
public void setTitle(String title) { public void setTitle(String title) {
this.title = title; this.title = title;
} }
/**
* // 获取标题的方法
*/
public String getTitle() { public String getTitle() {
return title; return title;
} }
/**
* // 设置简介的方法
*/
public void setIntroduction(String introduction) { public void setIntroduction(String introduction) {
this.introduction = introduction; this.introduction = introduction;
} }
/**
* // 获取简介的方法
*/
public String getIntroduction() { public String getIntroduction() {
return introduction; return introduction;
} }
/**
* // 设置图片的方法
*/
public void setPicture(String picture) { public void setPicture(String picture) {
this.picture = picture; this.picture = picture;
} }
/**
* // 获取图片的方法
*/
public String getPicture() { public String getPicture() {
return picture; return picture;
} }
/**
* // 设置内容的方法
*/
public void setContent(String content) { public void setContent(String content) {
this.content = content; this.content = content;
} }
/**
* // 获取内容的方法
*/
public String getContent() { public String getContent() {
return content; return content;
} }
}
}

@ -1,272 +1,240 @@
// 声明该类所属的包为 com.entity通常用于存放数据库相关的实体类
package com.entity; package com.entity;
// 导入 MyBatis-Plus 框架的 TableId 注解,用于标识数据库表的主键字段
import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableId;
// 导入 MyBatis-Plus 框架的 TableName 注解,用于指定实体类对应的数据库表名
import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.annotations.TableName;
// 导入 JSR-303 验证框架中的 NotBlank 注解,用于确保字符串字段不为空且去除首尾空格后长度大于 0
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
// 导入 JSR-303 验证框架中的 NotEmpty 注解,用于确保集合、数组或字符串等不为空
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
// 导入 JSR-303 验证框架中的 NotNull 注解,用于确保对象字段不为空
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
// 导入 Jackson 库的 JsonIgnoreProperties 注解,用于在序列化和反序列化时忽略指定属性
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
// 导入反射操作中可能抛出的 InvocationTargetException 异常类
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
// 导入 Serializable 接口,实现该接口的类的对象可进行序列化和反序列化操作
import java.io.Serializable; import java.io.Serializable;
// 导入 Date 类,用于处理日期和时间相关的数据
import java.util.Date; import java.util.Date;
// 导入 List 接口,用于表示一组对象的集合(当前代码未实际使用该接口相关功能,但导入了对应的包)
import java.util.List; import java.util.List;
// 导入 Spring 框架的 DateTimeFormat 注解,用于指定日期在接收参数时的格式
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
// 导入 Jackson 库的 JsonFormat 注解,用于指定日期在序列化时的格式
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
// 导入 Apache Commons BeanUtils 工具类,用于复制 JavaBean 的属性
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
// 导入 MyBatis-Plus 框架的 TableField 注解,用于设置字段在数据库表中的相关属性(当前代码未实际使用该注解,但导入了对应的包)
import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableField;
// 导入 MyBatis-Plus 框架的 FieldFill 枚举,用于指定字段的填充策略(当前代码未实际使用该枚举,但导入了对应的包)
import com.baomidou.mybatisplus.enums.FieldFill; import com.baomidou.mybatisplus.enums.FieldFill;
// 导入 MyBatis-Plus 框架的 IdType 枚举,用于指定主键的生成策略
import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.enums.IdType;
/** /**
* *
* *
* @author * @author
* @email * @email
* @date 2022-04-04 00:20:04 * @date 2022-04-04 00:20:04
*/ */
// 使用 TableName 注解指定该实体类对应的数据库表名为 "ruzhuanpai"
@TableName("ruzhuanpai") @TableName("ruzhuanpai")
// 定义 RuzhuanpaiEntity 类,使用泛型 T实现 Serializable 接口
public class RuzhuanpaiEntity<T> implements Serializable { public class RuzhuanpaiEntity<T> implements Serializable {
// 定义序列化版本号,用于在序列化和反序列化过程中保持类的版本一致性
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// 无参构造函数,用于创建 RuzhuanpaiEntity 对象时不传入任何参数
public RuzhuanpaiEntity() { public RuzhuanpaiEntity() {
} }
// 带参数的构造函数,通过传入的泛型对象 t 复制属性到当前对象
public RuzhuanpaiEntity(T t) { public RuzhuanpaiEntity(T t) {
try { try {
// 使用 BeanUtils 的 copyProperties 方法将 t 对象的属性复制到当前对象
BeanUtils.copyProperties(this, t); BeanUtils.copyProperties(this, t);
} catch (IllegalAccessException | InvocationTargetException e) { } catch (IllegalAccessException | InvocationTargetException e) {
// TODO Auto-generated catch block // 如果在复制属性过程中出现非法访问异常或反射调用目标异常
// 简单打印异常堆栈信息,后续可根据实际情况完善异常处理逻辑
e.printStackTrace(); e.printStackTrace();
} }
} }
/** // 使用 TableId 注解标识该字段为主键
* id // 主键 id用于唯一标识数据库表中的每条记录
*/
@TableId @TableId
private Long id; private Long id;
/**
* // 预定编号字段,用于存储入住安排对应的预定编号
*/
private String yudingbianhao; private String yudingbianhao;
/** // 酒店名称字段,用于存储入住安排对应的酒店名称
*
*/
private String jiudianmingcheng; private String jiudianmingcheng;
/** // 房间类型字段,用于存储入住的房间类型
*
*/
private String fangjianleixing; private String fangjianleixing;
/** // 数量字段,用于存储入住房间的数量,数据类型为 Float
*
*/
private Float shuliang; private Float shuliang;
/** // 客房图片字段,用于存储入住房间相关的图片信息(如图片路径等)
*
*/
private String kefangtupian; private String kefangtupian;
/** // 用户名字段,用于存储入住安排对应的用户名
*
*/
private String yonghuming; private String yonghuming;
/** // 姓名字段,用于存储入住人的姓名
*
*/
private String xingming; private String xingming;
/** // 手机号字段,用于存储入住人或相关联系人的手机号码
*
*/
private String shoujihao; private String shoujihao;
/** // 房间号字段,用于存储入住的具体房间号
*
*/
private String fangjianhao; private String fangjianhao;
/** // 跨表用户 id 字段,用于关联其他表中的用户信息
* id
*/
private Long crossuserid; private Long crossuserid;
/** // 跨表主键 id 字段,用于关联其他表中的主键信息
* id
*/
private Long crossrefid; private Long crossrefid;
// 使用 JsonFormat 注解指定日期在序列化时的格式为 "yyyy-MM-dd HH:mm:ss",时区为 GMT+8
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") // 使用 DateTimeFormat 注解,用于处理日期格式相关的转换
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat @DateTimeFormat
private Date addtime; private Date addtime;
// 获取记录添加时间的方法
public Date getAddtime() { public Date getAddtime() {
return addtime; return addtime;
} }
// 设置记录添加时间的方法
public void setAddtime(Date addtime) { public void setAddtime(Date addtime) {
this.addtime = addtime; this.addtime = addtime;
} }
// 获取主键 id 的方法
public Long getId() { public Long getId() {
return id; return id;
} }
// 设置主键 id 的方法
public void setId(Long id) { public void setId(Long id) {
this.id = id; this.id = id;
} }
/**
* // 设置预定编号的方法
*/
public void setYudingbianhao(String yudingbianhao) { public void setYudingbianhao(String yudingbianhao) {
this.yudingbianhao = yudingbianhao; this.yudingbianhao = yudingbianhao;
} }
/**
* // 获取预定编号的方法
*/
public String getYudingbianhao() { public String getYudingbianhao() {
return yudingbianhao; return yudingbianhao;
} }
/**
* // 设置酒店名称的方法
*/
public void setJiudianmingcheng(String jiudianmingcheng) { public void setJiudianmingcheng(String jiudianmingcheng) {
this.jiudianmingcheng = jiudianmingcheng; this.jiudianmingcheng = jiudianmingcheng;
} }
/**
* // 获取酒店名称的方法
*/
public String getJiudianmingcheng() { public String getJiudianmingcheng() {
return jiudianmingcheng; return jiudianmingcheng;
} }
/**
* // 设置房间类型的方法
*/
public void setFangjianleixing(String fangjianleixing) { public void setFangjianleixing(String fangjianleixing) {
this.fangjianleixing = fangjianleixing; this.fangjianleixing = fangjianleixing;
} }
/**
* // 获取房间类型的方法
*/
public String getFangjianleixing() { public String getFangjianleixing() {
return fangjianleixing; return fangjianleixing;
} }
/**
* // 设置数量的方法
*/
public void setShuliang(Float shuliang) { public void setShuliang(Float shuliang) {
this.shuliang = shuliang; this.shuliang = shuliang;
} }
/**
* // 获取数量的方法
*/
public Float getShuliang() { public Float getShuliang() {
return shuliang; return shuliang;
} }
/**
* // 设置客房图片的方法
*/
public void setKefangtupian(String kefangtupian) { public void setKefangtupian(String kefangtupian) {
this.kefangtupian = kefangtupian; this.kefangtupian = kefangtupian;
} }
/**
* // 获取客房图片的方法
*/
public String getKefangtupian() { public String getKefangtupian() {
return kefangtupian; return kefangtupian;
} }
/**
* // 设置用户名的方法
*/
public void setYonghuming(String yonghuming) { public void setYonghuming(String yonghuming) {
this.yonghuming = yonghuming; this.yonghuming = yonghuming;
} }
/**
* // 获取用户名的方法
*/
public String getYonghuming() { public String getYonghuming() {
return yonghuming; return yonghuming;
} }
/**
* // 设置姓名的方法
*/
public void setXingming(String xingming) { public void setXingming(String xingming) {
this.xingming = xingming; this.xingming = xingming;
} }
/**
* // 获取姓名的方法
*/
public String getXingming() { public String getXingming() {
return xingming; return xingming;
} }
/**
* // 设置手机号的方法
*/
public void setShoujihao(String shoujihao) { public void setShoujihao(String shoujihao) {
this.shoujihao = shoujihao; this.shoujihao = shoujihao;
} }
/**
* // 获取手机号的方法
*/
public String getShoujihao() { public String getShoujihao() {
return shoujihao; return shoujihao;
} }
/**
* // 设置房间号的方法
*/
public void setFangjianhao(String fangjianhao) { public void setFangjianhao(String fangjianhao) {
this.fangjianhao = fangjianhao; this.fangjianhao = fangjianhao;
} }
/**
* // 获取房间号的方法
*/
public String getFangjianhao() { public String getFangjianhao() {
return fangjianhao; return fangjianhao;
} }
/**
* id // 设置跨表用户 id 的方法
*/
public void setCrossuserid(Long crossuserid) { public void setCrossuserid(Long crossuserid) {
this.crossuserid = crossuserid; this.crossuserid = crossuserid;
} }
/**
* id // 获取跨表用户 id 的方法
*/
public Long getCrossuserid() { public Long getCrossuserid() {
return crossuserid; return crossuserid;
} }
/**
* id // 设置跨表主键 id 的方法
*/
public void setCrossrefid(Long crossrefid) { public void setCrossrefid(Long crossrefid) {
this.crossrefid = crossrefid; this.crossrefid = crossrefid;
} }
/**
* id // 获取跨表主键 id 的方法
*/
public Long getCrossrefid() { public Long getCrossrefid() {
return crossrefid; return crossrefid;
} }
}
}

@ -1,200 +1,188 @@
// 声明该类所属的包为 com.entity通常用于存放数据库实体相关的类
package com.entity; package com.entity;
// 导入 MyBatis-Plus 框架的 TableId 注解,用于标识数据库表的主键字段
import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableId;
// 导入 MyBatis-Plus 框架的 TableName 注解,用于指定该实体类对应的数据库表名
import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.annotations.TableName;
// 导入 JSR-303 验证框架中的 NotBlank 注解,用于确保字符串字段不为空且去除首尾空格后长度大于 0
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
// 导入 JSR-303 验证框架中的 NotEmpty 注解,用于确保集合、数组或字符串等不为空
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
// 导入 JSR-303 验证框架中的 NotNull 注解,用于确保对象字段不为空
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
// 导入 Jackson 库的 JsonIgnoreProperties 注解,用于在序列化和反序列化时忽略指定属性
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
// 导入反射操作中可能抛出的 InvocationTargetException 异常类
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
// 导入 Serializable 接口,实现该接口的类的对象可进行序列化和反序列化操作
import java.io.Serializable; import java.io.Serializable;
// 导入 Date 类,用于处理日期和时间相关的数据
import java.util.Date; import java.util.Date;
// 导入 List 接口,用于表示一组对象的集合(当前代码未实际使用该接口相关功能,但导入了对应的包)
import java.util.List; import java.util.List;
// 导入 Spring 框架的 DateTimeFormat 注解,用于指定日期在接收参数时的格式
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
// 导入 Jackson 库的 JsonFormat 注解,用于指定日期在序列化时的格式
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
// 导入 Apache Commons BeanUtils 工具类,用于复制 JavaBean 的属性
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
// 导入 MyBatis-Plus 框架的 TableField 注解,用于设置字段在数据库表中的相关属性(当前代码未实际使用该注解,但导入了对应的包)
import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableField;
// 导入 MyBatis-Plus 框架的 FieldFill 枚举,用于指定字段的填充策略(当前代码未实际使用该枚举,但导入了对应的包)
import com.baomidou.mybatisplus.enums.FieldFill; import com.baomidou.mybatisplus.enums.FieldFill;
// 导入 MyBatis-Plus 框架的 IdType 枚举,用于指定主键的生成策略
import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.enums.IdType;
/** /**
* *
* *
* @author * @author
* @email * @email
* @date 2022-04-04 00:20:04 * @date 2022-04-04 00:20:04
*/ */
// 使用 TableName 注解指定该实体类对应的数据库表名为 "storeup"
@TableName("storeup") @TableName("storeup")
// 定义 StoreupEntity 类,使用泛型 T实现 Serializable 接口
public class StoreupEntity<T> implements Serializable { public class StoreupEntity<T> implements Serializable {
// 定义序列化版本号,用于在序列化和反序列化过程中保持类的版本一致性
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// 无参构造函数,用于创建 StoreupEntity 对象时不传入任何参数
public StoreupEntity() { public StoreupEntity() {
} }
// 带参数的构造函数,通过传入的泛型对象 t 复制属性到当前对象
public StoreupEntity(T t) { public StoreupEntity(T t) {
try { try {
// 使用 BeanUtils 的 copyProperties 方法将 t 对象的属性复制到当前对象
BeanUtils.copyProperties(this, t); BeanUtils.copyProperties(this, t);
} catch (IllegalAccessException | InvocationTargetException e) { } catch (IllegalAccessException | InvocationTargetException e) {
// TODO Auto-generated catch block // 如果在复制属性过程中出现非法访问异常或反射调用目标异常
// 简单打印异常堆栈信息,后续可根据实际情况完善异常处理逻辑
e.printStackTrace(); e.printStackTrace();
} }
} }
/** // 使用 TableId 注解标识该字段为主键
* id // 主键 id用于唯一标识数据库表中的每条记录
*/
@TableId @TableId
private Long id; private Long id;
/**
* id // 用户 id 字段,用于存储收藏操作对应的用户的 id
*/
private Long userid; private Long userid;
/** // 收藏 id 字段,用于标识被收藏的具体对象的 id
* id
*/
private Long refid; private Long refid;
/** // 表名字段,用于记录收藏对象所在的表名
*
*/
private String tablename; private String tablename;
/** // 收藏名称字段,用于存储被收藏对象的名称
*
*/
private String name; private String name;
/** // 收藏图片字段,用于存储与收藏对象相关的图片信息(如图片路径等)
*
*/
private String picture; private String picture;
/** // 类型字段用于标识操作类型1:收藏,21:赞,22:踩)
* (1:,21:,22:)
*/
private String type; private String type;
/** // 推荐类型字段,用于记录收藏的推荐类型相关信息
*
*/
private String inteltype; private String inteltype;
// 使用 JsonFormat 注解指定日期在序列化时的格式为 "yyyy-MM-dd HH:mm:ss",时区为 GMT+8
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") // 使用 DateTimeFormat 注解,用于处理日期格式相关的转换
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat @DateTimeFormat
private Date addtime; private Date addtime;
// 获取记录添加时间的方法
public Date getAddtime() { public Date getAddtime() {
return addtime; return addtime;
} }
// 设置记录添加时间的方法
public void setAddtime(Date addtime) { public void setAddtime(Date addtime) {
this.addtime = addtime; this.addtime = addtime;
} }
// 获取主键 id 的方法
public Long getId() { public Long getId() {
return id; return id;
} }
// 设置主键 id 的方法
public void setId(Long id) { public void setId(Long id) {
this.id = id; this.id = id;
} }
/**
* id // 设置用户 id 的方法
*/
public void setUserid(Long userid) { public void setUserid(Long userid) {
this.userid = userid; this.userid = userid;
} }
/**
* id // 获取用户 id 的方法
*/
public Long getUserid() { public Long getUserid() {
return userid; return userid;
} }
/**
* id // 设置收藏 id 的方法
*/
public void setRefid(Long refid) { public void setRefid(Long refid) {
this.refid = refid; this.refid = refid;
} }
/**
* id // 获取收藏 id 的方法
*/
public Long getRefid() { public Long getRefid() {
return refid; return refid;
} }
/**
* // 设置表名的方法
*/
public void setTablename(String tablename) { public void setTablename(String tablename) {
this.tablename = tablename; this.tablename = tablename;
} }
/**
* // 获取表名的方法
*/
public String getTablename() { public String getTablename() {
return tablename; return tablename;
} }
/**
* // 设置收藏名称的方法
*/
public void setName(String name) { public void setName(String name) {
this.name = name; this.name = name;
} }
/**
* // 获取收藏名称的方法
*/
public String getName() { public String getName() {
return name; return name;
} }
/**
* // 设置收藏图片的方法
*/
public void setPicture(String picture) { public void setPicture(String picture) {
this.picture = picture; this.picture = picture;
} }
/**
* // 获取收藏图片的方法
*/
public String getPicture() { public String getPicture() {
return picture; return picture;
} }
/**
* (1:,21:,22:) // 设置类型的方法
*/
public void setType(String type) { public void setType(String type) {
this.type = type; this.type = type;
} }
/**
* (1:,21:,22:) // 获取类型的方法
*/
public String getType() { public String getType() {
return type; return type;
} }
/**
* // 设置推荐类型的方法
*/
public void setInteltype(String inteltype) { public void setInteltype(String inteltype) {
this.inteltype = inteltype; this.inteltype = inteltype;
} }
/**
* // 获取推荐类型的方法
*/
public String getInteltype() { public String getInteltype() {
return inteltype; return inteltype;
} }
}
}

@ -1,122 +1,157 @@
// 声明该类所属的包为 com.entity通常用于存放与数据库实体相关的类
package com.entity; package com.entity;
// 导入 Serializable 接口,实现该接口的类的对象可进行序列化和反序列化操作
import java.io.Serializable; import java.io.Serializable;
// 导入 Date 类,用于处理日期和时间相关的数据
import java.util.Date; import java.util.Date;
// 导入 MyBatis-Plus 框架的 TableId 注解,用于标识数据库表的主键字段
import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableId;
// 导入 MyBatis-Plus 框架的 TableName 注解,用于指定该实体类对应的数据库表名
import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.annotations.TableName;
// 导入 MyBatis-Plus 框架的 IdType 枚举,用于指定主键的生成策略
import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.enums.IdType;
/** /**
* token * token
*/ */
// 使用 TableName 注解指定该实体类对应的数据库表名为 "token"
@TableName("token") @TableName("token")
// 定义 TokenEntity 类,实现 Serializable 接口
public class TokenEntity implements Serializable { public class TokenEntity implements Serializable {
// 定义序列化版本号,用于在序列化和反序列化过程中保持类的版本一致性
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// 使用 TableId 注解标识该字段为主键,并指定主键生成策略为自动增长
@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)
// 主键 id用于唯一标识数据库表中的每条记录
private Long id; private Long id;
/** /**
* id * id
*/ */
// 存储拥有该 token 的用户的 id
private Long userid; private Long userid;
/** /**
* *
*/ */
// 存储拥有该 token 的用户的用户名
private String username; private String username;
/** /**
* *
*/ */
// 存储与该 token 相关的表名
private String tablename; private String tablename;
/** /**
* *
*/ */
// 存储拥有该 token 的用户的角色
private String role; private String role;
/** /**
* token * token
*/ */
// 存储生成的 token 值
private String token; private String token;
/** /**
* *
*/ */
// 存储该 token 的过期时间
private Date expiratedtime; private Date expiratedtime;
/** /**
* *
*/ */
// 存储该 token 的新增时间
private Date addtime; private Date addtime;
// 获取主键 id 的方法
public Long getId() { public Long getId() {
return id; return id;
} }
// 设置主键 id 的方法
public void setId(Long id) { public void setId(Long id) {
this.id = id; this.id = id;
} }
// 获取用户 id 的方法
public Long getUserid() { public Long getUserid() {
return userid; return userid;
} }
// 设置用户 id 的方法
public void setUserid(Long userid) { public void setUserid(Long userid) {
this.userid = userid; this.userid = userid;
} }
// 获取角色的方法
public String getRole() { public String getRole() {
return role; return role;
} }
// 设置角色的方法
public void setRole(String role) { public void setRole(String role) {
this.role = role; this.role = role;
} }
// 获取 token 的方法
public String getToken() { public String getToken() {
return token; return token;
} }
// 获取表名的方法
public String getTablename() { public String getTablename() {
return tablename; return tablename;
} }
// 设置表名的方法
public void setTablename(String tablename) { public void setTablename(String tablename) {
this.tablename = tablename; this.tablename = tablename;
} }
// 设置 token 的方法
public void setToken(String token) { public void setToken(String token) {
this.token = token; this.token = token;
} }
// 获取过期时间的方法
public Date getExpiratedtime() { public Date getExpiratedtime() {
return expiratedtime; return expiratedtime;
} }
// 设置过期时间的方法
public void setExpiratedtime(Date expiratedtime) { public void setExpiratedtime(Date expiratedtime) {
this.expiratedtime = expiratedtime; this.expiratedtime = expiratedtime;
} }
// 获取新增时间的方法
public Date getAddtime() { public Date getAddtime() {
return addtime; return addtime;
} }
// 设置新增时间的方法
public void setAddtime(Date addtime) { public void setAddtime(Date addtime) {
this.addtime = addtime; this.addtime = addtime;
} }
// 获取用户名的方法
public String getUsername() { public String getUsername() {
return username; return username;
} }
// 设置用户名的方法
public void setUsername(String username) { public void setUsername(String username) {
this.username = username; this.username = username;
} }
public TokenEntity(Long userid, String username, String tablename,String role, String token, Date expiratedtime) { // 带参数的构造函数,用于创建 TokenEntity 对象时初始化部分属性
public TokenEntity(Long userid, String username, String tablename, String role, String token, Date expiratedtime) {
super(); super();
this.userid = userid; this.userid = userid;
this.username = username; this.username = username;
@ -125,8 +160,8 @@ public class TokenEntity implements Serializable {
this.token = token; this.token = token;
this.expiratedtime = expiratedtime; this.expiratedtime = expiratedtime;
} }
// 无参构造函数,用于创建 TokenEntity 对象时不传入任何参数
public TokenEntity() { public TokenEntity() {
} }
}
}

@ -1,77 +1,101 @@
// 声明该类所属的包为 com.entity一般用于存放与数据库实体相关的类
package com.entity; package com.entity;
// 导入 Serializable 接口,实现该接口的类的对象可进行序列化和反序列化操作
import java.io.Serializable; import java.io.Serializable;
// 导入 Date 类,用于处理日期和时间相关的数据
import java.util.Date; import java.util.Date;
// 导入 MyBatis-Plus 框架的 TableId 注解,用于标识数据库表的主键字段
import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableId;
// 导入 MyBatis-Plus 框架的 TableName 注解,用于指定该实体类对应的数据库表名
import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.annotations.TableName;
// 导入 MyBatis-Plus 框架的 IdType 枚举,用于指定主键的生成策略
import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.enums.IdType;
/** /**
* *
*/ */
// 使用 TableName 注解指定该实体类对应的数据库表名为 "users"
@TableName("users") @TableName("users")
// 定义 UserEntity 类,实现 Serializable 接口
public class UserEntity implements Serializable { public class UserEntity implements Serializable {
// 定义序列化版本号,用于在序列化和反序列化过程中保持类的版本一致性
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// 使用 TableId 注解标识该字段为主键,并指定主键生成策略为自动增长
@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)
// 主键 id用于唯一标识数据库表中的每条记录
private Long id; private Long id;
/** /**
* *
*/ */
// 存储用户的账号信息
private String username; private String username;
/** /**
* *
*/ */
// 存储用户的密码信息
private String password; private String password;
/** /**
* *
*/ */
// 存储用户的类型,如普通用户、管理员等
private String role; private String role;
// 记录用户的添加时间
private Date addtime; private Date addtime;
// 获取用户账号的方法
public String getUsername() { public String getUsername() {
return username; return username;
} }
// 设置用户账号的方法
public void setUsername(String username) { public void setUsername(String username) {
this.username = username; this.username = username;
} }
// 获取用户密码的方法
public String getPassword() { public String getPassword() {
return password; return password;
} }
// 设置用户密码的方法
public void setPassword(String password) { public void setPassword(String password) {
this.password = password; this.password = password;
} }
// 获取用户类型的方法
public String getRole() { public String getRole() {
return role; return role;
} }
// 设置用户类型的方法
public void setRole(String role) { public void setRole(String role) {
this.role = role; this.role = role;
} }
// 获取用户添加时间的方法
public Date getAddtime() { public Date getAddtime() {
return addtime; return addtime;
} }
// 设置用户添加时间的方法
public void setAddtime(Date addtime) { public void setAddtime(Date addtime) {
this.addtime = addtime; this.addtime = addtime;
} }
// 获取主键 id 的方法
public Long getId() { public Long getId() {
return id; return id;
} }
// 设置主键 id 的方法
public void setId(Long id) { public void setId(Long id) {
this.id = id; this.id = id;
} }
}
}

@ -1,182 +1,175 @@
// 声明该类所属的包为 com.entity通常用于存放数据库实体相关的类
package com.entity; package com.entity;
// 导入 MyBatis-Plus 框架的 TableId 注解,用于标识数据库表的主键字段
import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableId;
// 导入 MyBatis-Plus 框架的 TableName 注解,用于指定该实体类对应的数据库表名
import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.annotations.TableName;
// 导入 JSR-303 验证框架中的 NotBlank 注解,用于确保字符串字段不为空且去除首尾空格后长度大于 0
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
// 导入 JSR-303 验证框架中的 NotEmpty 注解,用于确保集合、数组或字符串等不为空
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
// 导入 JSR-303 验证框架中的 NotNull 注解,用于确保对象字段不为空
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
// 导入 Jackson 库的 JsonIgnoreProperties 注解,用于在序列化和反序列化时忽略指定属性
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
// 导入反射操作中可能抛出的 InvocationTargetException 异常类
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
// 导入 Serializable 接口,实现该接口的类的对象可进行序列化和反序列化操作
import java.io.Serializable; import java.io.Serializable;
// 导入 Date 类,用于处理日期和时间相关的数据
import java.util.Date; import java.util.Date;
// 导入 List 接口,用于表示一组对象的集合(当前代码未实际使用该接口相关功能,但导入了对应的包)
import java.util.List; import java.util.List;
// 导入 Spring 框架的 DateTimeFormat 注解,用于指定日期在接收参数时的格式
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
// 导入 Jackson 库的 JsonFormat 注解,用于指定日期在序列化时的格式
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
// 导入 Apache Commons BeanUtils 工具类,用于复制 JavaBean 的属性
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
// 导入 MyBatis-Plus 框架的 TableField 注解,用于设置字段在数据库表中的相关属性(当前代码未实际使用该注解,但导入了对应的包)
import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableField;
// 导入 MyBatis-Plus 框架的 FieldFill 枚举,用于指定字段的填充策略(当前代码未实际使用该枚举,但导入了对应的包)
import com.baomidou.mybatisplus.enums.FieldFill; import com.baomidou.mybatisplus.enums.FieldFill;
// 导入 MyBatis-Plus 框架的 IdType 枚举,用于指定主键的生成策略
import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.enums.IdType;
/** /**
* *
* *
* @author * @author
* @email * @email
* @date 2022-04-04 00:20:04 * @date 2022-04-04 00:20:04
*/ */
// 使用 TableName 注解指定该实体类对应的数据库表名为 "yonghu"
@TableName("yonghu") @TableName("yonghu")
// 定义 YonghuEntity 类,使用泛型 T实现 Serializable 接口
public class YonghuEntity<T> implements Serializable { public class YonghuEntity<T> implements Serializable {
// 定义序列化版本号,用于在序列化和反序列化过程中保持类的版本一致性
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// 无参构造函数,用于创建 YonghuEntity 对象时不传入任何参数
public YonghuEntity() { public YonghuEntity() {
} }
// 带参数的构造函数,通过传入的泛型对象 t 复制属性到当前对象
public YonghuEntity(T t) { public YonghuEntity(T t) {
try { try {
// 使用 BeanUtils 的 copyProperties 方法将 t 对象的属性复制到当前对象
BeanUtils.copyProperties(this, t); BeanUtils.copyProperties(this, t);
} catch (IllegalAccessException | InvocationTargetException e) { } catch (IllegalAccessException | InvocationTargetException e) {
// TODO Auto-generated catch block // 如果在复制属性过程中出现非法访问异常或反射调用目标异常
// 简单打印异常堆栈信息,后续可根据实际情况完善异常处理逻辑
e.printStackTrace(); e.printStackTrace();
} }
} }
/** // 使用 TableId 注解标识该字段为主键
* id // 主键 id用于唯一标识数据库表中的每条记录
*/
@TableId @TableId
private Long id; private Long id;
/**
* // 用户名字段,用于存储用户的用户名
*/
private String yonghuming; private String yonghuming;
/** // 姓名字段,用于存储用户的姓名
*
*/
private String xingming; private String xingming;
/** // 密码字段,用于存储用户的密码
*
*/
private String mima; private String mima;
/** // 性别字段,用于存储用户的性别信息
*
*/
private String xingbie; private String xingbie;
/** // 年龄字段,用于存储用户的年龄,数据类型为 Integer
*
*/
private Integer nianling; private Integer nianling;
/** // 手机号字段,用于存储用户的手机号码
*
*/
private String shoujihao; private String shoujihao;
// 使用 JsonFormat 注解指定日期在序列化时的格式为 "yyyy-MM-dd HH:mm:ss",时区为 GMT+8
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") // 使用 DateTimeFormat 注解,用于处理日期格式相关的转换
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat @DateTimeFormat
private Date addtime; private Date addtime;
// 获取记录添加时间的方法
public Date getAddtime() { public Date getAddtime() {
return addtime; return addtime;
} }
// 设置记录添加时间的方法
public void setAddtime(Date addtime) { public void setAddtime(Date addtime) {
this.addtime = addtime; this.addtime = addtime;
} }
// 获取主键 id 的方法
public Long getId() { public Long getId() {
return id; return id;
} }
// 设置主键 id 的方法
public void setId(Long id) { public void setId(Long id) {
this.id = id; this.id = id;
} }
/**
* // 设置用户名的方法
*/
public void setYonghuming(String yonghuming) { public void setYonghuming(String yonghuming) {
this.yonghuming = yonghuming; this.yonghuming = yonghuming;
} }
/**
* // 获取用户名的方法
*/
public String getYonghuming() { public String getYonghuming() {
return yonghuming; return yonghuming;
} }
/**
* // 设置姓名的方法
*/
public void setXingming(String xingming) { public void setXingming(String xingming) {
this.xingming = xingming; this.xingming = xingming;
} }
/**
* // 获取姓名的方法
*/
public String getXingming() { public String getXingming() {
return xingming; return xingming;
} }
/**
* // 设置密码的方法
*/
public void setMima(String mima) { public void setMima(String mima) {
this.mima = mima; this.mima = mima;
} }
/**
* // 获取密码的方法
*/
public String getMima() { public String getMima() {
return mima; return mima;
} }
/**
* // 设置性别的方法
*/
public void setXingbie(String xingbie) { public void setXingbie(String xingbie) {
this.xingbie = xingbie; this.xingbie = xingbie;
} }
/**
* // 获取性别的方法
*/
public String getXingbie() { public String getXingbie() {
return xingbie; return xingbie;
} }
/**
* // 设置年龄的方法
*/
public void setNianling(Integer nianling) { public void setNianling(Integer nianling) {
this.nianling = nianling; this.nianling = nianling;
} }
/**
* // 获取年龄的方法
*/
public Integer getNianling() { public Integer getNianling() {
return nianling; return nianling;
} }
/**
* // 设置手机号的方法
*/
public void setShoujihao(String shoujihao) { public void setShoujihao(String shoujihao) {
this.shoujihao = shoujihao; this.shoujihao = shoujihao;
} }
/**
* // 获取手机号的方法
*/
public String getShoujihao() { public String getShoujihao() {
return shoujihao; return shoujihao;
} }
}
}

@ -1,220 +1,204 @@
// 声明该类所属的包为 com.entity通常用于存放与数据库实体相关的类
package com.entity; package com.entity;
// 导入 MyBatis-Plus 框架的 TableId 注解,用于标识数据库表的主键字段
import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableId;
// 导入 MyBatis-Plus 框架的 TableName 注解,用于指定该实体类对应的数据库表名
import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.annotations.TableName;
// 导入 JSR-303 验证框架中的 NotBlank 注解,用于确保字符串字段不为空且去除首尾空格后长度大于 0
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
// 导入 JSR-303 验证框架中的 NotEmpty 注解,用于确保集合、数组或字符串等不为空
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
// 导入 JSR-303 验证框架中的 NotNull 注解,用于确保对象字段不为空
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
// 导入 Jackson 库的 JsonIgnoreProperties 注解,用于在序列化和反序列化时忽略指定属性
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
// 导入反射操作中可能抛出的 InvocationTargetException 异常类
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
// 导入 Serializable 接口,实现该接口的类的对象可进行序列化和反序列化操作
import java.io.Serializable; import java.io.Serializable;
// 导入 Date 类,用于处理日期和时间相关的数据
import java.util.Date; import java.util.Date;
// 导入 List 接口,用于表示一组对象的集合(当前代码未实际使用该接口相关功能,但导入了对应的包)
import java.util.List; import java.util.List;
// 导入 Spring 框架的 DateTimeFormat 注解,用于指定日期在接收参数时的格式
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
// 导入 Jackson 库的 JsonFormat 注解,用于指定日期在序列化时的格式
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
// 导入 Apache Commons BeanUtils 工具类,用于复制 JavaBean 的属性
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
// 导入 MyBatis-Plus 框架的 TableField 注解,用于设置字段在数据库表中的相关属性(当前代码未实际使用该注解,但导入了对应的包)
import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableField;
// 导入 MyBatis-Plus 框架的 FieldFill 枚举,用于指定字段的填充策略(当前代码未实际使用该枚举,但导入了对应的包)
import com.baomidou.mybatisplus.enums.FieldFill; import com.baomidou.mybatisplus.enums.FieldFill;
// 导入 MyBatis-Plus 框架的 IdType 枚举,用于指定主键的生成策略
import com.baomidou.mybatisplus.enums.IdType; import com.baomidou.mybatisplus.enums.IdType;
/** /**
* *
* *
* @author * @author
* @email * @email
* @date 2022-04-04 00:20:04 * @date 2022-04-04 00:20:04
*/ */
// 使用 TableName 注解指定该实体类对应的数据库表名为 "yuangong"
@TableName("yuangong") @TableName("yuangong")
// 定义 YuangongEntity 类,使用泛型 T实现 Serializable 接口
public class YuangongEntity<T> implements Serializable { public class YuangongEntity<T> implements Serializable {
// 定义序列化版本号,用于在序列化和反序列化过程中保持类的版本一致性
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// 无参构造函数,用于创建 YuangongEntity 对象时不传入任何参数
public YuangongEntity() { public YuangongEntity() {
} }
// 带参数的构造函数,通过传入的泛型对象 t 复制属性到当前对象
public YuangongEntity(T t) { public YuangongEntity(T t) {
try { try {
// 使用 BeanUtils 的 copyProperties 方法将 t 对象的属性复制到当前对象
BeanUtils.copyProperties(this, t); BeanUtils.copyProperties(this, t);
} catch (IllegalAccessException | InvocationTargetException e) { } catch (IllegalAccessException | InvocationTargetException e) {
// TODO Auto-generated catch block // 如果在复制属性过程中出现非法访问异常或反射调用目标异常
// 简单打印异常堆栈信息,后续可根据实际情况完善异常处理逻辑
e.printStackTrace(); e.printStackTrace();
} }
} }
/** // 使用 TableId 注解标识该字段为主键
* id // 主键 id用于唯一标识数据库表中的每条记录
*/
@TableId @TableId
private Long id; private Long id;
/**
* // 员工工号字段,用于存储员工的工号信息
*/
private String yuangonggonghao; private String yuangonggonghao;
/** // 员工姓名字段,用于存储员工的姓名
*
*/
private String yuangongxingming; private String yuangongxingming;
/** // 密码字段,用于存储员工的密码
*
*/
private String mima; private String mima;
/** // 性别字段,用于存储员工的性别信息
*
*/
private String xingbie; private String xingbie;
/** // 联系电话字段,用于存储员工的联系电话
*
*/
private String lianxidianhua; private String lianxidianhua;
/** // 头像字段,用于存储员工的头像相关信息(如图片路径等)
*
*/
private String touxiang; private String touxiang;
/** // 入职时间字段,使用 JsonFormat 注解指定日期在序列化时的格式为 "yyyy-MM-dd",时区为 GMT+8
* // 使用 DateTimeFormat 注解,用于处理日期格式相关的转换
*/ @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
@DateTimeFormat
private Date ruzhishijian; private Date ruzhishijian;
/** // 职位字段,用于存储员工的职位信息
*
*/
private String zhiwei; private String zhiwei;
// 使用 JsonFormat 注解指定日期在序列化时的格式为 "yyyy-MM-dd HH:mm:ss",时区为 GMT+8
@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") // 使用 DateTimeFormat 注解,用于处理日期格式相关的转换
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat @DateTimeFormat
private Date addtime; private Date addtime;
// 获取记录添加时间的方法
public Date getAddtime() { public Date getAddtime() {
return addtime; return addtime;
} }
// 设置记录添加时间的方法
public void setAddtime(Date addtime) { public void setAddtime(Date addtime) {
this.addtime = addtime; this.addtime = addtime;
} }
// 获取主键 id 的方法
public Long getId() { public Long getId() {
return id; return id;
} }
// 设置主键 id 的方法
public void setId(Long id) { public void setId(Long id) {
this.id = id; this.id = id;
} }
/**
* // 设置员工工号的方法
*/
public void setYuangonggonghao(String yuangonggonghao) { public void setYuangonggonghao(String yuangonggonghao) {
this.yuangonggonghao = yuangonggonghao; this.yuangonggonghao = yuangonggonghao;
} }
/**
* // 获取员工工号的方法
*/
public String getYuangonggonghao() { public String getYuangonggonghao() {
return yuangonggonghao; return yuangonggonghao;
} }
/**
* // 设置员工姓名的方法
*/
public void setYuangongxingming(String yuangongxingming) { public void setYuangongxingming(String yuangongxingming) {
this.yuangongxingming = yuangongxingming; this.yuangongxingming = yuangongxingming;
} }
/**
* // 获取员工姓名的方法
*/
public String getYuangongxingming() { public String getYuangongxingming() {
return yuangongxingming; return yuangongxingming;
} }
/**
* // 设置密码的方法
*/
public void setMima(String mima) { public void setMima(String mima) {
this.mima = mima; this.mima = mima;
} }
/**
* // 获取密码的方法
*/
public String getMima() { public String getMima() {
return mima; return mima;
} }
/**
* // 设置性别的方法
*/
public void setXingbie(String xingbie) { public void setXingbie(String xingbie) {
this.xingbie = xingbie; this.xingbie = xingbie;
} }
/**
* // 获取性别的方法
*/
public String getXingbie() { public String getXingbie() {
return xingbie; return xingbie;
} }
/**
* // 设置联系电话的方法
*/
public void setLianxidianhua(String lianxidianhua) { public void setLianxidianhua(String lianxidianhua) {
this.lianxidianhua = lianxidianhua; this.lianxidianhua = lianxidianhua;
} }
/**
* // 获取联系电话的方法
*/
public String getLianxidianhua() { public String getLianxidianhua() {
return lianxidianhua; return lianxidianhua;
} }
/**
* // 设置头像的方法
*/
public void setTouxiang(String touxiang) { public void setTouxiang(String touxiang) {
this.touxiang = touxiang; this.touxiang = touxiang;
} }
/**
* // 获取头像的方法
*/
public String getTouxiang() { public String getTouxiang() {
return touxiang; return touxiang;
} }
/**
* // 设置入职时间的方法
*/
public void setRuzhishijian(Date ruzhishijian) { public void setRuzhishijian(Date ruzhishijian) {
this.ruzhishijian = ruzhishijian; this.ruzhishijian = ruzhishijian;
} }
/**
* // 获取入职时间的方法
*/
public Date getRuzhishijian() { public Date getRuzhishijian() {
return ruzhishijian; return ruzhishijian;
} }
/**
* // 设置职位的方法
*/
public void setZhiwei(String zhiwei) { public void setZhiwei(String zhiwei) {
this.zhiwei = zhiwei; this.zhiwei = zhiwei;
} }
/**
* // 获取职位的方法
*/
public String getZhiwei() { public String getZhiwei() {
return zhiwei; return zhiwei;
} }
}
}

@ -23,73 +23,88 @@ import com.service.TokenService;
import com.utils.R; import com.utils.R;
/** /**
* (Token) * (Token)
*/ */
@Component @Component
public class AuthorizationInterceptor implements HandlerInterceptor { public class AuthorizationInterceptor implements HandlerInterceptor {
// 定义用于在请求头中获取token的键名
public static final String LOGIN_TOKEN_KEY = "Token"; public static final String LOGIN_TOKEN_KEY = "Token";
// 自动注入TokenService用于处理与token相关的业务逻辑
@Autowired @Autowired
private TokenService tokenService; private TokenService tokenService;
@Override /**
*
* @param request HttpServletRequest
* @param response HttpServletResponse
* @param handler HandlerMethod
* @return truefalse
* @throws Exception
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//支持跨域请求 // 支持跨域请求,设置相关的响应头信息
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with,request-source,Token, Origin,imgType, Content-Type, cache-control,postman-token,Cookie, Accept,authorization"); response.setHeader("Access-Control-Allow-Headers", "x-requested-with,request-source,Token, Origin,imgType, Content-Type, cache-control,postman-token,Cookie, Accept,authorization");
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin")); response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
// 跨域时会首先发送一个OPTIONS请求这里我们给OPTIONS请求直接返回正常状态
if (request.getMethod().equals(RequestMethod.OPTIONS.name())) { // 跨域时会首先发送一个OPTIONS请求这里我们给OPTIONS请求直接返回正常状态
response.setStatus(HttpStatus.OK.value()); if (request.getMethod().equals(RequestMethod.OPTIONS.name())) {
response.setStatus(HttpStatus.OK.value());
return false; return false;
} }
IgnoreAuth annotation; IgnoreAuth annotation;
if (handler instanceof HandlerMethod) { if (handler instanceof HandlerMethod) {
// 从HandlerMethod中获取IgnoreAuth注解如果存在则表示该方法不需要进行权限验证
annotation = ((HandlerMethod) handler).getMethodAnnotation(IgnoreAuth.class); annotation = ((HandlerMethod) handler).getMethodAnnotation(IgnoreAuth.class);
} else { } else {
return true; return true;
} }
//从header中获取token // 从请求头中获取token
String token = request.getHeader(LOGIN_TOKEN_KEY); String token = request.getHeader(LOGIN_TOKEN_KEY);
/** /**
* *
*/ */
if(annotation!=null) { if (annotation != null) {
return true; return true;
} }
TokenEntity tokenEntity = null; TokenEntity tokenEntity = null;
if(StringUtils.isNotBlank(token)) { if (StringUtils.isNotBlank(token)) {
tokenEntity = tokenService.getTokenEntity(token); // 根据获取到的token调用TokenService获取对应的TokenEntity对象
tokenEntity = tokenService.getTokenEntity(token);
} }
if(tokenEntity != null) { if (tokenEntity != null) {
request.getSession().setAttribute("userId", tokenEntity.getUserid()); // 将tokenEntity中的相关信息存入当前请求的会话中方便后续使用
request.getSession().setAttribute("role", tokenEntity.getRole()); request.getSession().setAttribute("userId", tokenEntity.getUserid());
request.getSession().setAttribute("tableName", tokenEntity.getTablename()); request.getSession().setAttribute("role", tokenEntity.getRole());
request.getSession().setAttribute("username", tokenEntity.getUsername()); request.getSession().setAttribute("tableName", tokenEntity.getTablename());
return true; request.getSession().setAttribute("username", tokenEntity.getUsername());
return true;
}
PrintWriter writer = null;
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json; charset=utf-8");
try {
writer = response.getWriter();
// 返回错误信息,提示用户需要先登录
writer.print(JSONObject.toJSONString(R.error(401, "请先登录")));
} finally {
if (writer != null) {
writer.close();
}
} }
// throw new EIException("请先登录", 401);
PrintWriter writer = null; return false;
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json; charset=utf-8");
try {
writer = response.getWriter();
writer.print(JSONObject.toJSONString(R.error(401, "请先登录")));
} finally {
if(writer != null){
writer.close();
}
}
// throw new EIException("请先登录", 401);
return false;
} }
} }

@ -1,64 +1,92 @@
package com.service.impl; package com.service.impl;
// 导入用于处理Java中List集合的接口这里用于定义方法返回值或参数中涉及集合的情况
import java.util.List; import java.util.List;
// 导入用于处理Java中Map集合的接口在方法参数和返回值中用于传递和处理键值对数据
import java.util.Map; import java.util.Map;
// 导入Spring框架中用于自动装配Bean的注解用于将符合条件的Bean自动注入到当前类中
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
// 导入Spring框架中用于声明服务层组件的注解将当前类声明为一个服务组件
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
// 导入自定义的CommonDao接口该接口可能定义了与数据库交互的方法
import com.dao.CommonDao; import com.dao.CommonDao;
// 导入自定义的CommonService接口当前类实现该接口以提供具体的业务逻辑实现
import com.service.CommonService; import com.service.CommonService;
// 实现通用业务逻辑的服务类,这里可理解为处理与系统用户相关部分业务(从注释“系统用户”推测)
/**
*
*/
@Service("commonService") @Service("commonService")
public class CommonServiceImpl implements CommonService { public class CommonServiceImpl implements CommonService {
// 自动注入CommonDao用于执行与数据库交互的操作
@Autowired @Autowired
private CommonDao commonDao; private CommonDao commonDao;
// 根据传入的参数获取选项列表
// @param params 包含查询条件等信息的Map集合
// @return 包含选项的字符串列表
@Override @Override
public List<String> getOption(Map<String, Object> params) { public List<String> getOption(Map<String, Object> params) {
return commonDao.getOption(params); return commonDao.getOption(params);
} }
// 根据选项相关参数获取相关的后续内容(具体含义需根据业务确定)
// @param params 包含查询条件等信息的Map集合
// @return 包含相关后续内容的Map集合
@Override @Override
public Map<String, Object> getFollowByOption(Map<String, Object> params) { public Map<String, Object> getFollowByOption(Map<String, Object> params) {
return commonDao.getFollowByOption(params); return commonDao.getFollowByOption(params);
} }
// 执行名为“sh”的业务操作具体业务含义需根据实际情况确定
// @param params 包含操作所需参数的Map集合
@Override @Override
public void sh(Map<String, Object> params) { public void sh(Map<String, Object> params) {
commonDao.sh(params); commonDao.sh(params);
} }
// 根据参数统计提醒的数量
// @param params 包含统计条件等信息的Map集合
// @return 提醒的数量
@Override @Override
public int remindCount(Map<String, Object> params) { public int remindCount(Map<String, Object> params) {
return commonDao.remindCount(params); return commonDao.remindCount(params);
} }
// 根据参数执行计算相关的查询操作(具体计算内容需根据业务确定)
// @param params 包含查询条件等信息的Map集合
// @return 包含计算结果的Map集合
@Override @Override
public Map<String, Object> selectCal(Map<String, Object> params) { public Map<String, Object> selectCal(Map<String, Object> params) {
return commonDao.selectCal(params); return commonDao.selectCal(params);
} }
// 根据参数进行分组查询操作
// @param params 包含查询条件、分组条件等信息的Map集合
// @return 包含分组查询结果的Map集合列表
@Override @Override
public List<Map<String, Object>> selectGroup(Map<String, Object> params) { public List<Map<String, Object>> selectGroup(Map<String, Object> params) {
return commonDao.selectGroup(params); return commonDao.selectGroup(params);
} }
// 根据参数进行取值相关的查询操作(具体取值逻辑需根据业务确定)
// @param params 包含查询条件等信息的Map集合
// @return 包含取值查询结果的Map集合列表
@Override @Override
public List<Map<String, Object>> selectValue(Map<String, Object> params) { public List<Map<String, Object>> selectValue(Map<String, Object> params) {
return commonDao.selectValue(params); return commonDao.selectValue(params);
} }
// 根据参数进行按时间统计取值的查询操作
// @param params 包含查询条件、时间范围等信息的Map集合
// @return 包含按时间统计取值查询结果的Map集合列表
@Override @Override
public List<Map<String, Object>> selectTimeStatValue(Map<String, Object> params) { public List<Map<String, Object>> selectTimeStatValue(Map<String, Object> params) {
return commonDao.selectTimeStatValue(params); return commonDao.selectTimeStatValue(params);
} }
}
}

@ -1,33 +1,47 @@
package com.service.impl; package com.service.impl;
// 导入用于处理键值对数据的Map接口常用于方法参数传递和数据处理
import java.util.Map; import java.util.Map;
// 导入Spring框架中用于声明服务层组件的注解将当前类标记为一个服务组件
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
// 导入MyBatis-Plus框架中用于构建实体包装器的类可用于构建查询条件
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
// 导入MyBatis-Plus框架中包装器的接口是EntityWrapper等包装器类的接口
import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.mapper.Wrapper;
// 导入MyBatis-Plus框架中用于分页的Page类用于处理分页相关操作
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
// 导入MyBatis-Plus框架中ServiceImpl类提供了一些基础的服务层实现方法
import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.baomidou.mybatisplus.service.impl.ServiceImpl;
// 导入自定义的数据访问对象接口,用于对配置数据进行数据库操作
import com.dao.ConfigDao; import com.dao.ConfigDao;
// 导入自定义的配置实体类,用于表示配置相关的数据
import com.entity.ConfigEntity; import com.entity.ConfigEntity;
// 导入自定义的配置服务接口,当前类实现该接口以提供具体的配置业务逻辑
import com.service.ConfigService; import com.service.ConfigService;
// 导入自定义的工具类,用于处理分页相关的工具方法
import com.utils.PageUtils; import com.utils.PageUtils;
// 导入自定义的工具类,用于构建查询相关的操作
import com.utils.Query; import com.utils.Query;
// 配置相关业务的服务实现类,这里可理解为处理与系统配置相关的业务(从注释“系统用户”推测不太准确,根据类名推测是配置相关)
/**
*
*/
@Service("configService") @Service("configService")
// 当前类继承自ServiceImpl并实现了ConfigService接口指定了数据访问对象为ConfigDao和实体类为ConfigEntity
public class ConfigServiceImpl extends ServiceImpl<ConfigDao, ConfigEntity> implements ConfigService { public class ConfigServiceImpl extends ServiceImpl<ConfigDao, ConfigEntity> implements ConfigService {
// 根据传入的参数和包装器进行分页查询配置数据的方法
// @param params 包含查询条件、分页参数等信息的Map集合
// @param wrapper 用于构建查询条件的包装器类型为ConfigEntity的包装器
// @return PageUtils对象包含了分页查询结果的相关信息
@Override @Override
public PageUtils queryPage(Map<String, Object> params, Wrapper<ConfigEntity> wrapper) { public PageUtils queryPage(Map<String, Object> params, Wrapper<ConfigEntity> wrapper) {
// 使用MyBatis-Plus的selectPage方法进行分页查询传入构建好的分页对象和查询条件包装器
Page<ConfigEntity> page = this.selectPage( Page<ConfigEntity> page = this.selectPage(
new Query<ConfigEntity>(params).getPage(), new Query<ConfigEntity>(params).getPage(),
wrapper wrapper
); );
return new PageUtils(page); // 将查询得到的Page对象转换为自定义的PageUtils对象并返回
return new PageUtils(page);
} }
} }

@ -1,63 +1,99 @@
package com.service.impl; package com.service.impl;
// 导入Spring框架中用于声明服务层组件的注解将当前类标记为一个服务组件
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
// 导入用于处理键值对数据的Map接口常用于方法参数传递和数据处理
import java.util.Map; import java.util.Map;
// 导入用于处理一组对象的List接口常用于方法返回值或参数中涉及集合的情况
import java.util.List; import java.util.List;
// 导入MyBatis-Plus框架中包装器的接口是EntityWrapper等包装器类的接口
import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.mapper.Wrapper;
// 导入MyBatis-Plus框架中用于构建实体包装器的类可用于构建查询条件
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
// 导入MyBatis-Plus框架中用于分页的Page类用于处理分页相关操作
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
// 导入MyBatis-Plus框架中ServiceImpl类提供了一些基础的服务层实现方法
import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.baomidou.mybatisplus.service.impl.ServiceImpl;
// 导入自定义的工具类,用于处理分页相关的工具方法
import com.utils.PageUtils; import com.utils.PageUtils;
// 导入自定义的工具类,用于构建查询相关的操作
import com.utils.Query; import com.utils.Query;
// 导入自定义的数据访问对象接口,用于对酒店介绍评论数据进行数据库操作
import com.dao.DiscussjiudianjianjieDao; import com.dao.DiscussjiudianjianjieDao;
// 导入自定义的酒店介绍评论实体类,用于表示酒店介绍评论相关的数据
import com.entity.DiscussjiudianjianjieEntity; import com.entity.DiscussjiudianjianjieEntity;
// 导入自定义的酒店介绍评论服务接口,当前类实现该接口以提供具体的酒店介绍评论业务逻辑
import com.service.DiscussjiudianjianjieService; import com.service.DiscussjiudianjianjieService;
// 导入自定义的酒店介绍评论值对象类,用于特定业务场景下的数据传输和展示
import com.entity.vo.DiscussjiudianjianjieVO; import com.entity.vo.DiscussjiudianjianjieVO;
// 导入自定义的酒店介绍评论视图类,用于展示特定格式的酒店介绍评论数据
import com.entity.view.DiscussjiudianjianjieView; import com.entity.view.DiscussjiudianjianjieView;
// 酒店介绍评论相关业务的服务实现类
@Service("discussjiudianjianjieService") @Service("discussjiudianjianjieService")
// 当前类继承自ServiceImpl并实现了DiscussjiudianjianjieService接口指定了数据访问对象为DiscussjiudianjianjieDao和实体类为DiscussjiudianjianjieEntity
public class DiscussjiudianjianjieServiceImpl extends ServiceImpl<DiscussjiudianjianjieDao, DiscussjiudianjianjieEntity> implements DiscussjiudianjianjieService { public class DiscussjiudianjianjieServiceImpl extends ServiceImpl<DiscussjiudianjianjieDao, DiscussjiudianjianjieEntity> implements DiscussjiudianjianjieService {
// 根据传入的参数进行分页查询酒店介绍评论数据的方法
@Override // @param params 包含查询条件、分页参数等信息的Map集合
public PageUtils queryPage(Map<String, Object> params) { // @return PageUtils对象包含了分页查询结果的相关信息
Page<DiscussjiudianjianjieEntity> page = this.selectPage( @Override
new Query<DiscussjiudianjianjieEntity>(params).getPage(), public PageUtils queryPage(Map<String, Object> params) {
new EntityWrapper<DiscussjiudianjianjieEntity>() // 使用MyBatis-Plus的selectPage方法进行分页查询传入构建好的分页对象和默认的实体包装器
); Page<DiscussjiudianjianjieEntity> page = this.selectPage(
return new PageUtils(page); new Query<DiscussjiudianjianjieEntity>(params).getPage(),
} new EntityWrapper<DiscussjiudianjianjieEntity>()
);
@Override // 将查询得到的Page对象转换为自定义的PageUtils对象并返回
return new PageUtils(page);
}
// 根据传入的参数和包装器进行分页查询酒店介绍评论视图数据的方法
// @param params 包含查询条件、分页参数等信息的Map集合
// @param wrapper 用于构建查询条件的包装器类型为DiscussjiudianjianjieEntity的包装器
// @return PageUtils对象包含了分页查询结果的相关信息
@Override
public PageUtils queryPage(Map<String, Object> params, Wrapper<DiscussjiudianjianjieEntity> wrapper) { public PageUtils queryPage(Map<String, Object> params, Wrapper<DiscussjiudianjianjieEntity> wrapper) {
Page<DiscussjiudianjianjieView> page =new Query<DiscussjiudianjianjieView>(params).getPage(); // 获取构建好的分页对象指定类型为DiscussjiudianjianjieView
page.setRecords(baseMapper.selectListView(page,wrapper)); Page<DiscussjiudianjianjieView> page = new Query<DiscussjiudianjianjieView>(params).getPage();
PageUtils pageUtil = new PageUtils(page); // 设置分页对象的记录为根据传入的包装器查询得到的结果
return pageUtil; page.setRecords(baseMapper.selectListView(page, wrapper));
} // 创建PageUtils对象并返回
PageUtils pageUtil = new PageUtils(page);
@Override return pageUtil;
}
// 根据传入的包装器查询酒店介绍评论值对象列表的方法
// @param wrapper 用于构建查询条件的包装器类型为DiscussjiudianjianjieEntity的包装器
// @return 酒店介绍评论值对象列表
@Override
public List<DiscussjiudianjianjieVO> selectListVO(Wrapper<DiscussjiudianjianjieEntity> wrapper) { public List<DiscussjiudianjianjieVO> selectListVO(Wrapper<DiscussjiudianjianjieEntity> wrapper) {
return baseMapper.selectListVO(wrapper); return baseMapper.selectListVO(wrapper);
} }
// 根据传入的包装器查询单个酒店介绍评论值对象的方法
// @param wrapper 用于构建查询条件的包装器类型为DiscussjiudianjianjieEntity的包装器
// @return 酒店介绍评论值对象
@Override @Override
public DiscussjiudianjianjieVO selectVO(Wrapper<DiscussjiudianjianjieEntity> wrapper) { public DiscussjiudianjianjieVO selectVO(Wrapper<DiscussjiudianjianjieEntity> wrapper) {
return baseMapper.selectVO(wrapper); return baseMapper.selectVO(wrapper);
} }
// 根据传入的包装器查询酒店介绍评论视图列表的方法
// @param wrapper 用于构建查询条件的包装器类型为DiscussjiudianjianjieEntity的包装器
// @return 酒店介绍评论视图列表
@Override @Override
public List<DiscussjiudianjianjieView> selectListView(Wrapper<DiscussjiudianjianjieEntity> wrapper) { public List<DiscussjiudianjianjieView> selectListView(Wrapper<DiscussjiudianjianjieEntity> wrapper) {
return baseMapper.selectListView(wrapper); return baseMapper.selectListView(wrapper);
} }
// 根据传入的包装器查询单个酒店介绍评论视图的方法
// @param wrapper 用于构建查询条件的包装器类型为DiscussjiudianjianjieEntity的包装器
// @return 酒店介绍评论视图
@Override @Override
public DiscussjiudianjianjieView selectView(Wrapper<DiscussjiudianjianjieEntity> wrapper) { public DiscussjiudianjianjieView selectView(Wrapper<DiscussjiudianjianjieEntity> wrapper) {
return baseMapper.selectView(wrapper); return baseMapper.selectView(wrapper);
} }
}
}

@ -1,63 +1,92 @@
// 声明该类所在的包,通常用于组织和管理相关的服务实现类
package com.service.impl; package com.service.impl;
// 导入Spring框架的Service注解用于将该类标记为服务层组件
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
// 导入Java中的Map接口用于处理键值对数据常用于方法参数传递
import java.util.Map; import java.util.Map;
// 导入Java中的List接口用于处理一组有序的数据常用于方法返回值
import java.util.List; import java.util.List;
// 导入MyBatis-Plus的Wrapper接口用于构建查询条件
import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.mapper.Wrapper;
// 导入MyBatis-Plus的EntityWrapper类用于构建实体查询条件
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
// 导入MyBatis-Plus的Page类用于分页查询
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
// 导入MyBatis-Plus的ServiceImpl类提供了一些基础的服务层实现方法
import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.baomidou.mybatisplus.service.impl.ServiceImpl;
// 导入自定义的PageUtils类用于处理分页结果
import com.utils.PageUtils; import com.utils.PageUtils;
// 导入自定义的Query类用于构建查询参数
import com.utils.Query; import com.utils.Query;
// 导入酒店客房评论的数据访问对象接口
import com.dao.DiscussjiudiankefangDao; import com.dao.DiscussjiudiankefangDao;
// 导入酒店客房评论的实体类
import com.entity.DiscussjiudiankefangEntity; import com.entity.DiscussjiudiankefangEntity;
// 导入酒店客房评论的服务接口
import com.service.DiscussjiudiankefangService; import com.service.DiscussjiudiankefangService;
// 导入酒店客房评论的值对象类
import com.entity.vo.DiscussjiudiankefangVO; import com.entity.vo.DiscussjiudiankefangVO;
// 导入酒店客房评论的视图类
import com.entity.view.DiscussjiudiankefangView; import com.entity.view.DiscussjiudiankefangView;
// 使用Service注解将该类注册为Spring的服务组件名称为"discussjiudiankefangService"
@Service("discussjiudiankefangService") @Service("discussjiudiankefangService")
// 继承ServiceImpl类指定数据访问对象和实体类实现酒店客房评论的服务接口
public class DiscussjiudiankefangServiceImpl extends ServiceImpl<DiscussjiudiankefangDao, DiscussjiudiankefangEntity> implements DiscussjiudiankefangService { public class DiscussjiudiankefangServiceImpl extends ServiceImpl<DiscussjiudiankefangDao, DiscussjiudiankefangEntity> implements DiscussjiudiankefangService {
// 重写查询分页方法,根据参数进行分页查询
@Override @Override
public PageUtils queryPage(Map<String, Object> params) { public PageUtils queryPage(Map<String, Object> params) {
Page<DiscussjiudiankefangEntity> page = this.selectPage( // 创建分页对象使用Query类从参数中提取分页信息
new Query<DiscussjiudiankefangEntity>(params).getPage(), Page<DiscussjiudiankefangEntity> page = this.selectPage(
new EntityWrapper<DiscussjiudiankefangEntity>() new Query<DiscussjiudiankefangEntity>(params).getPage(),
); // 创建实体包装器,用于构建查询条件
return new PageUtils(page); new EntityWrapper<DiscussjiudiankefangEntity>()
} );
// 使用PageUtils类将分页结果封装返回
@Override return new PageUtils(page);
}
// 重写查询分页方法,根据参数和查询条件进行分页查询
@Override
public PageUtils queryPage(Map<String, Object> params, Wrapper<DiscussjiudiankefangEntity> wrapper) { public PageUtils queryPage(Map<String, Object> params, Wrapper<DiscussjiudiankefangEntity> wrapper) {
Page<DiscussjiudiankefangView> page =new Query<DiscussjiudiankefangView>(params).getPage(); // 创建分页对象使用Query类从参数中提取分页信息
page.setRecords(baseMapper.selectListView(page,wrapper)); Page<DiscussjiudiankefangView> page = new Query<DiscussjiudiankefangView>(params).getPage();
PageUtils pageUtil = new PageUtils(page); // 设置分页对象的记录通过数据访问对象的selectListView方法查询
return pageUtil; page.setRecords(baseMapper.selectListView(page, wrapper));
} // 使用PageUtils类将分页结果封装返回
PageUtils pageUtil = new PageUtils(page);
@Override return pageUtil;
}
// 重写查询列表VO的方法根据查询条件查询酒店客房评论的值对象列表
@Override
public List<DiscussjiudiankefangVO> selectListVO(Wrapper<DiscussjiudiankefangEntity> wrapper) { public List<DiscussjiudiankefangVO> selectListVO(Wrapper<DiscussjiudiankefangEntity> wrapper) {
return baseMapper.selectListVO(wrapper); // 调用数据访问对象的selectListVO方法进行查询
return baseMapper.selectListVO(wrapper);
} }
// 重写查询单个VO的方法根据查询条件查询酒店客房评论的值对象
@Override @Override
public DiscussjiudiankefangVO selectVO(Wrapper<DiscussjiudiankefangEntity> wrapper) { public DiscussjiudiankefangVO selectVO(Wrapper<DiscussjiudiankefangEntity> wrapper) {
return baseMapper.selectVO(wrapper); // 调用数据访问对象的selectVO方法进行查询
return baseMapper.selectVO(wrapper);
} }
// 重写查询列表视图的方法,根据查询条件查询酒店客房评论的视图列表
@Override @Override
public List<DiscussjiudiankefangView> selectListView(Wrapper<DiscussjiudiankefangEntity> wrapper) { public List<DiscussjiudiankefangView> selectListView(Wrapper<DiscussjiudiankefangEntity> wrapper) {
// 调用数据访问对象的selectListView方法进行查询
return baseMapper.selectListView(wrapper); return baseMapper.selectListView(wrapper);
} }
// 重写查询单个视图的方法,根据查询条件查询酒店客房评论的视图
@Override @Override
public DiscussjiudiankefangView selectView(Wrapper<DiscussjiudiankefangEntity> wrapper) { public DiscussjiudiankefangView selectView(Wrapper<DiscussjiudiankefangEntity> wrapper) {
// 调用数据访问对象的selectView方法进行查询
return baseMapper.selectView(wrapper); return baseMapper.selectView(wrapper);
} }
}
}

@ -1,63 +1,92 @@
// 定义类所在的包,通常用于组织服务实现类
package com.service.impl; package com.service.impl;
// 引入Spring的Service注解将该类标记为服务层组件
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
// 引入Java的Map接口用于处理键值对数据常作为方法参数
import java.util.Map; import java.util.Map;
// 引入Java的List接口用于处理有序集合数据常作为方法返回值
import java.util.List; import java.util.List;
// 引入MyBatis-Plus的Wrapper接口用于构建查询条件
import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.mapper.Wrapper;
// 引入MyBatis-Plus的EntityWrapper类用于创建实体查询条件
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
// 引入MyBatis-Plus的Page类用于分页查询
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
// 引入MyBatis-Plus的ServiceImpl类提供基础的服务层实现
import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.baomidou.mybatisplus.service.impl.ServiceImpl;
// 引入自定义的PageUtils类用于处理分页结果
import com.utils.PageUtils; import com.utils.PageUtils;
// 引入自定义的Query类用于构建查询参数
import com.utils.Query; import com.utils.Query;
// 引入酒店介绍的数据访问对象接口
import com.dao.JiudianjianjieDao; import com.dao.JiudianjianjieDao;
// 引入酒店介绍的实体类
import com.entity.JiudianjianjieEntity; import com.entity.JiudianjianjieEntity;
// 引入酒店介绍的服务接口
import com.service.JiudianjianjieService; import com.service.JiudianjianjieService;
// 引入酒店介绍的值对象类
import com.entity.vo.JiudianjianjieVO; import com.entity.vo.JiudianjianjieVO;
// 引入酒店介绍的视图类
import com.entity.view.JiudianjianjieView; import com.entity.view.JiudianjianjieView;
// 使用Service注解将该类注册为Spring服务名称为"jiudianjianjieService"
@Service("jiudianjianjieService") @Service("jiudianjianjieService")
// 继承ServiceImpl类指定数据访问对象和实体类实现酒店介绍服务接口
public class JiudianjianjieServiceImpl extends ServiceImpl<JiudianjianjieDao, JiudianjianjieEntity> implements JiudianjianjieService { public class JiudianjianjieServiceImpl extends ServiceImpl<JiudianjianjieDao, JiudianjianjieEntity> implements JiudianjianjieService {
// 重写查询分页方法,根据参数进行分页查询
@Override @Override
public PageUtils queryPage(Map<String, Object> params) { public PageUtils queryPage(Map<String, Object> params) {
Page<JiudianjianjieEntity> page = this.selectPage( // 创建分页对象,从参数中提取分页信息
new Query<JiudianjianjieEntity>(params).getPage(), Page<JiudianjianjieEntity> page = this.selectPage(
new EntityWrapper<JiudianjianjieEntity>() new Query<JiudianjianjieEntity>(params).getPage(),
); // 创建实体查询条件包装器
return new PageUtils(page); new EntityWrapper<JiudianjianjieEntity>()
} );
// 封装分页结果并返回
@Override return new PageUtils(page);
}
// 重写查询分页方法,根据参数和查询条件进行分页查询
@Override
public PageUtils queryPage(Map<String, Object> params, Wrapper<JiudianjianjieEntity> wrapper) { public PageUtils queryPage(Map<String, Object> params, Wrapper<JiudianjianjieEntity> wrapper) {
Page<JiudianjianjieView> page =new Query<JiudianjianjieView>(params).getPage(); // 创建分页对象,从参数中提取分页信息
page.setRecords(baseMapper.selectListView(page,wrapper)); Page<JiudianjianjieView> page = new Query<JiudianjianjieView>(params).getPage();
PageUtils pageUtil = new PageUtils(page); // 设置分页对象的记录,通过数据访问对象查询
return pageUtil; page.setRecords(baseMapper.selectListView(page, wrapper));
} // 封装分页结果并返回
PageUtils pageUtil = new PageUtils(page);
@Override return pageUtil;
}
// 重写查询列表VO的方法根据查询条件查询酒店介绍值对象列表
@Override
public List<JiudianjianjieVO> selectListVO(Wrapper<JiudianjianjieEntity> wrapper) { public List<JiudianjianjieVO> selectListVO(Wrapper<JiudianjianjieEntity> wrapper) {
return baseMapper.selectListVO(wrapper); // 调用数据访问对象的方法查询列表
return baseMapper.selectListVO(wrapper);
} }
// 重写查询单个VO的方法根据查询条件查询酒店介绍值对象
@Override @Override
public JiudianjianjieVO selectVO(Wrapper<JiudianjianjieEntity> wrapper) { public JiudianjianjieVO selectVO(Wrapper<JiudianjianjieEntity> wrapper) {
return baseMapper.selectVO(wrapper); // 调用数据访问对象的方法查询单个对象
return baseMapper.selectVO(wrapper);
} }
// 重写查询列表视图的方法,根据查询条件查询酒店介绍视图列表
@Override @Override
public List<JiudianjianjieView> selectListView(Wrapper<JiudianjianjieEntity> wrapper) { public List<JiudianjianjieView> selectListView(Wrapper<JiudianjianjieEntity> wrapper) {
// 调用数据访问对象的方法查询列表
return baseMapper.selectListView(wrapper); return baseMapper.selectListView(wrapper);
} }
// 重写查询单个视图的方法,根据查询条件查询酒店介绍视图
@Override @Override
public JiudianjianjieView selectView(Wrapper<JiudianjianjieEntity> wrapper) { public JiudianjianjieView selectView(Wrapper<JiudianjianjieEntity> wrapper) {
// 调用数据访问对象的方法查询单个对象
return baseMapper.selectView(wrapper); return baseMapper.selectView(wrapper);
} }
}
}

@ -1,63 +1,92 @@
// 声明该类所属的包,用于组织和管理服务实现类
package com.service.impl; package com.service.impl;
// 导入Spring框架的Service注解用于将该类标记为服务层组件
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
// 导入Java的Map接口用于处理键值对数据常用于方法参数传递
import java.util.Map; import java.util.Map;
// 导入Java的List接口用于处理有序集合数据常用于方法返回值
import java.util.List; import java.util.List;
// 导入MyBatis-Plus的Wrapper接口用于构建查询条件
import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.mapper.Wrapper;
// 导入MyBatis-Plus的EntityWrapper类用于创建实体的查询条件包装器
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
// 导入MyBatis-Plus的Page类用于处理分页查询
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
// 导入MyBatis-Plus的ServiceImpl类提供基础的服务层实现方法
import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.baomidou.mybatisplus.service.impl.ServiceImpl;
// 导入自定义的PageUtils类用于处理分页结果的工具类
import com.utils.PageUtils; import com.utils.PageUtils;
// 导入自定义的Query类用于从参数中提取分页信息
import com.utils.Query; import com.utils.Query;
// 导入酒店客房的数据访问对象接口
import com.dao.JiudiankefangDao; import com.dao.JiudiankefangDao;
// 导入酒店客房的实体类
import com.entity.JiudiankefangEntity; import com.entity.JiudiankefangEntity;
// 导入酒店客房的服务接口
import com.service.JiudiankefangService; import com.service.JiudiankefangService;
// 导入酒店客房的值对象类,用于特定业务场景下的数据传输
import com.entity.vo.JiudiankefangVO; import com.entity.vo.JiudiankefangVO;
// 导入酒店客房的视图类,用于展示特定格式的数据
import com.entity.view.JiudiankefangView; import com.entity.view.JiudiankefangView;
// 使用Service注解将该类注册为Spring服务组件名称为"jiudiankefangService"
@Service("jiudiankefangService") @Service("jiudiankefangService")
// 继承ServiceImpl类指定数据访问对象和实体类实现酒店客房服务接口
public class JiudiankefangServiceImpl extends ServiceImpl<JiudiankefangDao, JiudiankefangEntity> implements JiudiankefangService { public class JiudiankefangServiceImpl extends ServiceImpl<JiudiankefangDao, JiudiankefangEntity> implements JiudiankefangService {
// 重写查询分页方法,根据传入的参数进行分页查询
@Override @Override
public PageUtils queryPage(Map<String, Object> params) { public PageUtils queryPage(Map<String, Object> params) {
Page<JiudiankefangEntity> page = this.selectPage( // 创建分页对象,从参数中提取分页信息
new Query<JiudiankefangEntity>(params).getPage(), Page<JiudiankefangEntity> page = this.selectPage(
new EntityWrapper<JiudiankefangEntity>() new Query<JiudiankefangEntity>(params).getPage(),
); // 创建实体查询条件包装器
return new PageUtils(page); new EntityWrapper<JiudiankefangEntity>()
} );
// 使用PageUtils类封装分页结果并返回
@Override return new PageUtils(page);
}
// 重写查询分页方法,根据传入的参数和查询条件进行分页查询
@Override
public PageUtils queryPage(Map<String, Object> params, Wrapper<JiudiankefangEntity> wrapper) { public PageUtils queryPage(Map<String, Object> params, Wrapper<JiudiankefangEntity> wrapper) {
Page<JiudiankefangView> page =new Query<JiudiankefangView>(params).getPage(); // 创建分页对象,从参数中提取分页信息,指定为视图类的分页
page.setRecords(baseMapper.selectListView(page,wrapper)); Page<JiudiankefangView> page = new Query<JiudiankefangView>(params).getPage();
PageUtils pageUtil = new PageUtils(page); // 设置分页对象的记录,通过数据访问对象的方法查询
return pageUtil; page.setRecords(baseMapper.selectListView(page, wrapper));
} // 使用PageUtils类封装分页结果并返回
PageUtils pageUtil = new PageUtils(page);
@Override return pageUtil;
}
// 重写查询值对象列表的方法,根据查询条件查询酒店客房值对象列表
@Override
public List<JiudiankefangVO> selectListVO(Wrapper<JiudiankefangEntity> wrapper) { public List<JiudiankefangVO> selectListVO(Wrapper<JiudiankefangEntity> wrapper) {
return baseMapper.selectListVO(wrapper); // 调用数据访问对象的方法查询列表
return baseMapper.selectListVO(wrapper);
} }
// 重写查询单个值对象的方法,根据查询条件查询酒店客房值对象
@Override @Override
public JiudiankefangVO selectVO(Wrapper<JiudiankefangEntity> wrapper) { public JiudiankefangVO selectVO(Wrapper<JiudiankefangEntity> wrapper) {
return baseMapper.selectVO(wrapper); // 调用数据访问对象的方法查询单个对象
return baseMapper.selectVO(wrapper);
} }
// 重写查询视图列表的方法,根据查询条件查询酒店客房视图列表
@Override @Override
public List<JiudiankefangView> selectListView(Wrapper<JiudiankefangEntity> wrapper) { public List<JiudiankefangView> selectListView(Wrapper<JiudiankefangEntity> wrapper) {
// 调用数据访问对象的方法查询列表
return baseMapper.selectListView(wrapper); return baseMapper.selectListView(wrapper);
} }
// 重写查询单个视图的方法,根据查询条件查询酒店客房视图
@Override @Override
public JiudiankefangView selectView(Wrapper<JiudiankefangEntity> wrapper) { public JiudiankefangView selectView(Wrapper<JiudiankefangEntity> wrapper) {
// 调用数据访问对象的方法查询单个对象
return baseMapper.selectView(wrapper); return baseMapper.selectView(wrapper);
} }
}
}
Loading…
Cancel
Save