**

关于mybatis中的时间段查询

在最近的开发中使用比较频繁的一个点,咱就是说浅浅的记录一下!!
相信大家对于mybatis框架并不陌生,我使用它在开发过程中需要对一个时间段进行查询,前端设置的时间选择器咱就不多说了,咱是一个小后端,先管好眼前的技术。我设置了数据库字段类型为dateTime
在这里插入图片描述

实体类为date类型,接收前端参数的dto也使用的date,那当然在实体类设置date类型,肯定会出现时间误差所以需要加个时间格式化注解设置对应时区。

在这里插入图片描述

那其实准备工作做得差不多了,现在就直入这个问题的最大难点,在xml文件中写对应sql,他其实有三种写法,但是我经常用的是两种,一种between and ,一种 <![CDATA[ >= ]]> 这种写法,between and 不能精确时分秒来筛选,所以后一种用的比较多,废话不多说直接上图:

在这里插入图片描述

至于这里为什么这样写大家百度一下就知道了,其实也就是书写规范的问题至于还有一种写法的话这里就不提了,大家感兴趣可以自己去看看
这里顺带提一下在接收前端参数时可以使用 LocalDateTime这个类型来接收,在jdk8以后增加的一个类型,它是属于java.time.LocalDateTime的,当时我也有使用过它来做这个时间段查询,当然如果你的mybatis使用的版本低于3.4.5的话需要导入一个类型转换的依赖

 <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-typehandlers-jsr310</artifactId>
        <version>1.0.1</version>
    </dependency>

除了接收参数的类型不同,其他其实都差不多,大家感兴趣的自己可以去试试,毕竟使用过它之后的我觉得它挺香的!!!

**

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐