mybatis |
您所在的位置:网站首页 › 搜索日期范围 › mybatis |
实体类字段设置 @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty("开始时间") @TableField(exist = false) private Date startTime; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty("截止时间") @TableField(exist = false) private Date endTime;或者 @ApiModelProperty("开始时间") @TableField(exist = false) private Date startTime; @ApiModelProperty("截止时间") @TableField(exist = false) private Date endTime;数据库的create_time字段类型为datetime 第一种: 使用框架提供的查询方法 QueryWrapper queryWrapper = Condition.getQueryWrapper(goods) .ge(Func.isNotEmpty(goods.getStartTime()),"create_time",goods.getStartTime()) .le(Func.isNotEmpty(goods.getEndTime()),"create_time",goods.getEndTime()); IPage pages = goodsService.page(Condition.getPage(query), queryWrapper);第二种: 适用于自定义的查询方法 and o.create_time ;= #{order.startTime} and o.create_time ;= #{order.endTime}注意: 第三种:startTime 和endTime 为Date类型,不要写成下面,因为大部分字段为String类型,有时候判断是否为空时,复制或者顺手写成下面这样,导致“invalid comparison: java.util.Date and java.lang.String”报错。 and g.create_time ;= #{goods.startTime}lambda方法构造查询方法 QueryWrapper queryWrapper = new QueryWrapper(); LambdaQueryWrapper lambdaQueryWrapper = queryWrapper.lambda().ge(Func.isNotEmpty(goods.getStartTime()),Goods::getCreateTime, goods.getStartTime()); ambdaQueryWrapper = lambdaQueryWrapper.le(Func.isNotEmpty(goods.getEndTime()),Goods::getCreateTime, goods.getEndTime()); IPage pages = goodsService.page(Condition.getPage(query), lambdaQueryWrapper); |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |