java实体类中,不对应数据库的实体类字段

@TableField(exist = false) 是 MyBatis Plus 中的注解,用于标记实体类中的字段是否映射到数据库表中的字段。在这个注解中,exist 属性默认为 true,表示该字段在数据库表中存在。而当设置为 false 时,表示该字段不会映射到数据库表中的字段。

通常情况下,@TableField 注解用于实体类中的非持久化字段,例如计算字段、临时字段或者与数据库表中的字段无关的字段。这样的字段不会保存到数据库中,但可以在实体类中使用。

例如,假设我们有一个 User 实体类,其中包含一个 fullName 字段,但数据库表中只有 firstNamelastName 两个字段。我们可以使用 @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;

@Data
public 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()
                        )
        );

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值