今天在使用mybatis-plus进行日期查询的时候遇到的一个问题,在这里记录一下。
需求: 前端传来signLogDate字段,如果signLogDate值为一个日期的话,后端就返回该指定日期的数据。如果值为null的话,后端就返回所有数据。
当时思路: 当时想这不就是经典的多条件筛选查询嘛,查询指定日期的数据,使用mysql的内置函数TO_DAYS() 。加个if判断,如果前端传来的字段不为null,就加上指定条件,否则就不加。当时想的sql如下:
select * from sign_log where TO_DAYS(in_time) = TO_DAYS('2022-1-8')
于是我就写了如下代码:
public Result queryTodaySignLog(@RequestBody SelectSignLogCondition selectCondition) {
Page<SignLog> page = new Page<SignLog>(selectCondition.getPageNum(