要求:1.操作时间倒序排列 当操作时间为空的时候,需默认排在第一个
解决:在sql里对修改时间进行倒序
select * from table
order by nvl(update_time,sysdate) desc
我当时对list也进行了降序操作,倒是也能实现,但是要注意业务需求,我当时对list进行排序,仅仅是把当页的数据进行排序,如果时间为空的数据大于当页数据量,就不符合业务需求
//data::getUpdatetime()就是你判断的那条数据的更新时间
respLst=respLst.stream()
.sorted(Comparator.comparing(data::getUpdatetime(),Comparator.nullsFirst(Comparator.reverseOrder())))
.collect(Collectors.toList());
总结:有关数据库的,首先先考虑对sql语句进行操作,不要把思维纠结在代码里,直接用sql的函数就能解决,本人sql学的一般,所以当时改的时候在代码那挣扎了好久,老是想着对list进行排序