mybatis plus时间判断问题
mybatis plus时间判断
<where>
<if test="startTime != null">
and eventtimestamp >= #{startTime,jdbcType=TIMESTAMP}
</if>
<if test="endTime != null">
and eventtimestamp < #{endTime} ,INTERVAL 1 DAY)
</if>
</where>方法一:使用xml 原生转义的方式进行转义#
- 字符名称 sql符号 转义字符
- 大于号 > >
- 小于号 < <
- 不等于 <> <>
- 大于等于号 >= >=
- 小于等于号 <= <=
- 与 & &
- 单引号 ' '
- 双引号 " "
<if test="startTime != null and endTime != null">
and change_time between #{startTime,jdbcType=TIMESTAMP} and #{endTime,jdbcType=TIMESTAMP}
</if>mybatis plus如何进行时间日期的比较
获取数据库中跟当前日期相等的记录时,还是调用eq方法,所以实体类包括数据库中的类型是Date,而不是DateTime,否则只能获取相同时刻的数据。
pulbic void main(){
LocalDate now = LocalDate.now();
LambdaQueryWrapper<Ebbinghaus> queryWrapper = new LambdaQueryWrapper();
queryWrapper.eq(Ebbinghasu.getCreateTime,now);
ebbinghuas.list(queryWrapper);
}Mybatis-Plus的时间比较是基于数据库的函数进行的,而不是字符串的比较。在Mybatis-Plus中,可以使用Wrapper对象的ge、gt、le、lt方法来进行时间的比较。
这些方法会根据数据库的不同,生成相应的SQL语句来实现时间的比较操作。所以,不需要将时间转换为字符串进行比较。
如果要进行天数的比较最好还是通过LocalDate做为数据的类型,而不是LocalDateTime,否则比较的也只是大于当前时刻,大于等于当前时刻。
如果对数据的时刻值有操作需求,可以进行以下设置:
@JsonFormat(pattern = "yyyy-MM-dd") private LocalDateTime createTime;
数据库中对应的字段类型设置为date,而不是datetime,这样即可以比较天数,又可以在时刻上有更为丰富的操作。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Java中getParameterTypes()方法的使用与原理分析
本文详细介绍了Java中getParameterTypes()方法的使用方式、工作原理及其在实际开发中的应用,该方法用于获取方法的参数类型列表,并通过反射机制在运行时动态地获取这些信息,感兴趣的朋友跟随小编一起看看吧2025-01-01
Java实现的可选择及拖拽图片的面板功能【基于swing组件】
这篇文章主要介绍了Java实现的可选择及拖拽图片的面板功能,涉及java基于swing组件选择与操作图片元素的相关实现技巧,需要的朋友可以参考下2018-01-01
SpringBoot项目设置断点debug调试无效忽略web.xml问题的解决
这篇文章主要介绍了SpringBoot项目设置断点debug调试无效忽略web.xml问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-08-08


最新评论