mybatis-plus le ge 记录_LazyTing的博客-CSDN博客
出异常源代码
this.baseMapper.selectList(
new QueryWrapper<PersonnelRoleDO>().lambda()
.eq(PersonnelRoleDO::getTenantId, tenantId)
.eq(PersonnelRoleDO::getPersonnelCode, personnelCode)
.ge(PersonnelRoleDO::getStartTime, format)
.le(PersonnelRoleDO::getExpireTime, format));
问题原因:时间判断错误,le ge 的用法弄反了
le:小于或等于
ge:大于或等于
这个解释是没错,但是在mybatis-plus中需要注意用法:都是后者排在后面去比较。
所以上面的代码会变成,startTime 大于或等于 format 表示的时间 and expireTime 小于或等于format,这样是查不到数据的。
所以应该改成
.le(PersonnelRoleDO::getStartTime, format)
.ge(PersonnelRoleDO::getExpireTime, format));
sql:
AND start_time <= ? AND expire_time >= ?
贼离谱。
不积跬步无以至千里
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)