java + spring boot + mybatis 通过时间段进行查询

前端传来的只有日期内容,如:2025-04-17

需要在日期内容的基础上补充时间部分,代码示例:

/**
     * 日志查询(分页查询)
     * @param recordLogQueryDTO 查询参数对象
     * @return 日志列表
     */
    @Override
    public PageBean query(RecordLogQueryDTO recordLogQueryDTO) {
        // 处理日期范围查询dateBegin、dateEnd(都是java.time.LocalDate的类型)
        // 前端传过来的只有日期部分,没有时间部分,如:2025-03-09,这样默认就是 2025-03-09 00:00:00.000
        // 如果查询日期范围,如 between date1 and date2,就查询不能这一天的数据
        // LocalDate 转换为 LocalDateTime
        // 通过 atStartOfDay 自动补充最小时间(当天午夜时间)
        recordLogQueryDTO.setCreateBeginTime(recordLogQueryDTO.getDateBegin().atStartOfDay());
        // 通过 atTime,指定补充时间,这里补充最大时间
        recordLogQueryDTO.setCreateEndTime(recordLogQueryDTO.getDateEnd().atTime(23,59,59,999999999));
        PageHelper.startPage(recordLogQueryDTO.getPage(), recordLogQueryDTO.getSize());
        List recordLogList = recordLogMapper.select(recordLogQueryDTO);
        Page recordLogPage = (Page) recordLogList;
        return new PageBean<>(recordLogPage.getTotal(), recordLogPage.getResult());
    }

前后端联调效果:

java + spring boot + mybatis 通过时间段进行查询_第1张图片

你可能感兴趣的:(java,spring,boot,mybatis)