网站定制业务,用Docker搭建WordPress博客,wordpress双栏极简,手机优化大师官方免费下载在做项目的时候遇到过一个问题#xff0c;用户需要获取当前月或者几个月的数据#xff0c;但是有一个要求#xff0c;如果已经存在一张单已经包含了这几个月的数据#xff0c;那么就不能再提取到重复的数据。其实这个问题#xff0c;我做完了我的方式之后才发现#xff0…在做项目的时候遇到过一个问题用户需要获取当前月或者几个月的数据但是有一个要求如果已经存在一张单已经包含了这几个月的数据那么就不能再提取到重复的数据。其实这个问题我做完了我的方式之后才发现有两种方式。第一种在获取到的数据上添加标识位如果有单据已经占用了该数据就在提取的时候根据标识排除这种方法要考虑到表的设计业务的连续。(此种不举例)第二种根据时间来进行判断判断的逻辑较为复杂主要是考虑到再次想建立的时间区间不能包含或大于已存在的单(其中有一个逻辑如果新建的单的开始时间大于已存在的单开始时间且新建的单的结束时间小于已存在的单的结束时间那么新建单的开始时间和结束时间必定包含于已存在的单的时间区间之内。故只需要判断是否存在已存在的单的开始结束时间区间包含新建单的开始时间或包含结束时间或新建单的开始时间小于已存在单的开始时间且新建单的结束时间大于已存在单的结束时间逻辑比较乱如果业务用不到不存在时间区间的概念可以不考虑第二种方法。采用上一种)mybatis sql如下and ( reconstartdate between #{reconstartdate,jdbctypedate} and #{reconenddate,jdbctypedate}or reconenddate between #{reconstartdate,jdbctypedate} and #{reconenddate,jdbctypedate} #{reconstartdate,jdbctypedate} ]] #{reconenddate,jdbctypedate} )希望与广大网友互动点此进行留言吧