日常开发中,经常有查询创建时间在某天0点0分0秒到23点59分59秒的的数据的需求,可以借助jdk8的日期类处理,日期以今天为例:
LocalDate date = LocalDate.now();
LocalDateTime startOfTheDay = LocalDateTime.of(date, LocalTime.MIN);
LocalDateTime endOfTheDay = LocalDateTime.of(date, LocalTime.MAX);
System.out.println("startOfTheDay = " + startOfTheDay);
System.out.println("endOfTheDay = " + endOfTheDay);
mapper层:
<select id="selectByCrtTM">
select * from a where
a.create_tm between #{startOfTheDay,jdbcType=DATE} and #{endOfTheDay,jdbcType=DATE}
</select>
注意日期要指定对应的jdbcType,否则可能查不到预期的数据。