ToB企服应用市场:ToB评测及商务社交产业平台
标题:
java实体类中,不对应数据库的实体类字段
[打印本页]
作者:
商道如狼道
时间:
2024-9-17 22:55
标题:
java实体类中,不对应数据库的实体类字段
@TableField(exist = false) 是 MyBatis Plus 中的注解,用于标记录体类中的字段是否映射到数据库表中的字段。在这个注解中,exist 属性默以为 true,表现该字段在数据库表中存在。而当设置为 false 时,表现该字段不会映射到数据库表中的字段。
通常环境下,@TableField 注解用于实体类中的非长期化字段,比方计算字段、暂时字段大概与数据库表中的字段无关的字段。如许的字段不会保存到数据库中,但可以在实体类中使用。
比方,假设我们有一个 User 实体类,其中包罗一个 fullName 字段,但数据库表中只有 firstName 和 lastName 两个字段。我们可以使用 @TableField(exist = false) 注解来标记 fullName 字段,表现它不会映射到数据库表中。
@TableField(exist = false)
@DateTimeFormat(pattern = "yyyy-MM-dd")
复制代码
这种天生的跟数据库不对应的字段,可以接前端数据,返回数据,用这个数据作为sql的条件.
案例:接收的String转日期。查询日期区间。
package co.yixiang.exam.entity;import co.yixiang.domain.BaseDomain;import com.baomidou.mybatisplus.annotation.TableField;import lombok.Data;import org.springframework.format.annotation.DateTimeFormat;import java.time.LocalDateTime;import java.util.Date;import java.util.List;@Datapublic class ExFeedback extends BaseDomain { // 反馈ID(自增) private Integer id; // 分类推荐(bug,功能发起) private String feedbackType; // 昵称 private String feedbackName; // 反馈内容 private String feedbackContent; // 接洽方式 private String feedbackContactInfo; // 提交时间 private LocalDateTime feedbackCommit; // 创建人 private String createBy; // 修改人 private String updateBy; @TableField(exist = false) private List<ExImg> exImg; @TableField(exist = false)
@DateTimeFormat(pattern = "yyyy-MM-dd") private Date startDate; @TableField(exist = false)
@DateTimeFormat(pattern = "yyyy-MM-dd") private Date endDate;}
复制代码
Page<ExFeedback> exFeedbackPage = exFeedbackMapper.selectPage(
new Page<>(pageable.getPageNumber(), pageable.getPageSize()),
new LambdaQueryWrapper<ExFeedback>()
// 根据id 查询
.like(!Objects.isNull(exFeedback.getId()), ExFeedback::getId, exFeedback.getId())
// 根据内容分类进行查询
.like(!Objects.isNull(exFeedback.getFeedbackType()), ExFeedback::getFeedbackType, exFeedback.getFeedbackType())
// 查询日期区间
.between(
(!Objects.isNull(exFeedback.getStartDate()) && !Objects.isNull(exFeedback.getEndDate())),
ExFeedback::getCreateTime,
exFeedback.getStartDate(),
exFeedback.getEndDate()
)
);
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4