zoukankan      html  css  js  c++  java
  • 记录一下使用mybatis-plus 根据时间条件 查不到数据问题

    问题描述:

    ​ 准备写一个demo来测试 查询一个时间段的记录数,传入一个时间以后不能正确的查到记录数,最离谱的是用 插件打印出执行的SQL语句放到数据库中是可以跑出数据来的,在代码中跑不出数据。

    ​ 解决方法:

    在通过实体类传输时间之后使用SimpleDateFormat 进行格式化一下时间,在封装到wrapper查询结果正常。

    实体类代码

    @Data
    @EqualsAndHashCode(callSuper = false)
    @Accessors(chain = true)
    @ApiModel(value="User对象", description="用户表")
    @ToString
    public class User implements Serializable {
    
        private static final long serialVersionUID = 1L;
    
        @TableId(value = "id", type = IdType.AUTO)
    
        private Integer id;
    
        private String name;
    
        private Integer age;
    
        private String sex;
    
        private String address;
    
        private String phone;
    
        private String userId;
    
    
        @TableField(fill = FieldFill.INSERT)
        @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
        private Date createTime;
    
        @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
        @TableField(fill = FieldFill.INSERT_UPDATE)
        private Date updateTime;
    
    }
    

    业务层代码

     @Override
        public List<User> gets(User user) {
    
            Date time = user.getCreateTime();
    
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
            String s1 = sdf.format(time);
    
            Date time1 = user.getUpdateTime();
    
            String s2 = sdf.format(time1);
    
            QueryWrapper <User> wrapper=new QueryWrapper<>();
    
            wrapper.gt("create_time",s1);
    
            wrapper.lt("update_time",s2);
    
            List<User> list = baseMapper.selectList(wrapper);
    
            log.info(String.valueOf(list));
    
            return list;
        }
    }
    

    控制层代码

        //根据时间段查数据
        @PostMapping("getList")
        public ResultData getList(@RequestBody User user){
    
            List<User> gets = userService.gets(user);
    
            return ResultData.ok().data("list",gets);
        }
    
    
    

    前端传递的参数

    {
      "createTime": "2021-04-22 09:12:01",
      "updateTime": "2021-04-22 09:55:37"
    }
    

    image-20210423150812021

    努力学习java的Cherish
  • 相关阅读:
    [转载]Oracle查看当前用户权限
    [转载]Oracle查看当前用户权限
    UltraEdit实用技巧
    _splitpath,_makepath分析路径
    [ZT]让你的软件界面更漂亮(1、2)
    [book]程序员修炼之道
    考考你的C++水平
    将*.STL转换成顶点索引格式
    JBuilder 2006 企业完整版
    [book]道法自然
  • 原文地址:https://www.cnblogs.com/cherish-code/p/14693938.html
Copyright © 2011-2022 走看看