好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

一、mysql

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

?

1

2

3

4

5

6

<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

?

1

2

3

4

5

6

<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时间范围查询

?

1

2

3

4

5

6

7

8

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 时间查询无效

错误写法

?

1

2

3

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));

正确写法

?

1

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

原文链接:https://blog.csdn.net/qq_21683643/article/details/109530346

查看更多关于Mybatis和Mybatis-Plus时间范围查询方式的详细内容...

  阅读:82次