温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Mybatis和Mybatis-Plus时间范围查询方式有哪些

发布时间:2021-08-06 13:47:36 来源:亿速云 阅读:1137 作者:小新 栏目:开发技术

小编给大家分享一下Mybatis和Mybatis-Plus时间范围查询方式有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

一、mysql

1.传入时间范围参数类型是字符串

 <if test="startTime!=null and startTime.trim() neq ''">
    and date_format(create_time,'%Y-%m-%d %H:%i:%s') &gt;= str_to_date(#{startTime},'%Y-%m-%d %H:%i:%s')
  </if>
  <if test="endTime!=null and endTime.trim() neq ''">
    and date_format(create_time,'%Y-%m-%d %H:%i:%s') &lt;= str_to_date(#{endTime},'%Y-%m-%d %H:%i:%s')
  </if>

2.传入时间范围参数类型是Date

 <if test="startTime!=null and startTime.trim() neq ''">
    and date_format(create_time,'%Y-%m-%d %H:%i:%s') &gt;= date_format(#{startTime},'%Y-%m-%d %H:%i:%s')
  </if>
  <if test="endTime!=null and endTime.trim() neq ''">
    and date_format(create_time,'%Y-%m-%d %H:%i:%s') &lt;= date_format(#{endTime},'%Y-%m-%d %H:%i:%s')
  </if>

3.Mybatis-Plus时间范围查询

Page<Record> page = new Page<>(page, limit);
 IPage<Record> result = iRecordService.page(page,
        new LambdaQueryWrapper<Record>()
            .apply(StrUtil.isNotBlank(start_date),
                    "date_format (optime,'%Y-%m-%d') >= date_format('" + start_date + "','%Y-%m-%d')")
            .apply(StrUtil.isNotBlank(end_date),
                    "date_format (optime,'%Y-%m-%d') <= date_format('" + end_date + "','%Y-%m-%d')")
            .orderByDesc(HmsFaceDetectLog::getOptime));

Mybatis Plus 时间查询无效

错误写法

DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
QueryWrapper query = new QueryWrapper();
query.ge("create_time", LocalDateTime.parse("2019-05-13 23:00:00", df));

正确写法

query.apply("UNIX_TIMESTAMP(create_time) >= UNIX_TIMESTAMP('" + "2019-05-12 03:00:00" + "')");

看完了这篇文章,相信你对“Mybatis和Mybatis-Plus时间范围查询方式有哪些”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI