java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > mybatis时间范围查询

mybatis时间范围查询代码示例

作者:大胖东

这篇文章主要给大家介绍了关于mybatis时间范围查询的相关资料,在项⽬中避免不了要⽤到时间范围查询,文中通过代码示例介绍的非常详细,需要的朋友可以参考下

mybatis框架支持直接用>=或<=查询日期范围,如:

<if test="startTime != null and startTime != ''">
   and timer.create_time  >= #{startTime}
<if test="endTime != null and endTime != ''">
    and timer.create_time  <= #{endTime}
</if>

问题:开始时间和结束时间是同一个日期,就查不出来

解决方法:用DATE_FORMAT转换日期

<if test="ew.plannedStartDate != null">
    <![CDATA[ and DATE_FORMAT(planned_start_date, '%Y-%m-%d') >= #{ew.plannedStartDate} ]]>
</if>
<if test="ew.plannedEndDate != null">
    <![CDATA[ and DATE_FORMAT(planned_start_date, '%Y-%m-%d') <= #{ew.plannedEndDate} ]]>
</if>

mybatis -plus框架中:

.apply(ObjectUtil.isNotEmpty(dto.getStartTime()),"planned_complete_date >= DATE_FORMAT('"+dto.getStartTime()+"','%Y-%m-%d')")
.apply(ObjectUtil.isNotEmpty(dto.getEndTime()),"planned_complete_date <= DATE_FORMAT('"+dto.getEndTime()+"','%Y-%m-%d')");

附:多参数查询,在mapper.xml中可以这样写

其中param是你要查的对应的数据库里的字段。

注意一点在写多参数查询时,是不需要加 parameterType="" 的。

对应的dao层可以这样写:

总结 

到此这篇关于mybatis时间范围查询的文章就介绍到这了,更多相关mybatis时间范围查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文