本文全部方法都是从网上借鉴的,供大家学习,如有侵权请联系我。
list(jpa不推荐):
/** *list(待排序的实体集合) *Entity(实体) *Column(排序字段) *Type(排序字段类型) */ list.stream().sorted( Comparator.comparing(Entity::getColumn, Comparator.nullsLast(Type::compareTo))) .collect(Collectors.toList());之所以不推荐是因为:如果是分页数据,该方法把所有数据查询后再筛选再分页的效果不如jpa直接在数据库执行筛选和分页效率高。 jpa(使用hibernate推荐): 1、添加jpa配置:在配置文件application.yml中spring的jpa属性下添加:
jpa: properties: hibernate.order_by.default_null_ordering: last但要添加hibernate相关依赖; 2、如果使用了hibernate的Criteria接口的话,
/** *criteria(待排序继承hibernate的Criteria的实体) *column(待排序属性) */ criteria.addOrder(Order.asc("column").nulls(NullPrecedence.LAST));Mybatis应该也有独特的排序方法,但我对Mybatis不熟悉,所以没列出。 欢迎补充与指出错误 声明: 转载需要注明出处
