一、queryWrapper排序orderBy()方法不生效
queryWrapper.in(SetMeal::getSetMealType, setMeal.getSetMealTypes());
queryWrapper.orderByAsc(SetMeal::getOrderIndex);
原因:querywrapper的in方法在使用时,若集合为空,则之后的sql都不再拼接。
解决方法:用上in方法的condition,添加条件
queryWrapper.in(setMeal.getSetMealTypes() != null && setMeal.getSetMealTypes().size() > 0,SetMeal::getSetMealType, setMeal.getSetMealTypes());
queryWrapper.orderByAsc(SetMeal::getOrderIndex);
本文介绍了在使用MyBatis的QueryWrapper时,遇到in方法导致的排序orderBy()不生效的问题。当in方法的集合为空时,后续的SQL排序不会被拼接。解决方法是利用in方法的condition条件,确保在集合不为空时才执行in操作,从而保证排序的正确性。
2737

被折叠的 条评论
为什么被折叠?



