JAVA的列表上移下移操作实现
这里的currentTypePriority 表示当前移动的排序值
nextTypePriority表示移动结束后的后一个排序值
比如 1、2、3、4、5 这对应的排序值也是一样
那么2要移动到5前面 =》1、3、4、2、5
那么这里的
currentTypePriority:2对应的排序值
nextTypePriority:5对应的排序值
这里用的mybatisplus写法
if (currentTypePriority > nextTypePriority) { //上移 update( Wrappers.lambdaUpdate(Menu.class) .setSql(" priority=priority+1") .ge(Menu::getPriority, nextTypePriority) .lt(Menu::getPriority, currentTypePriority) ); } else { //下移 update( Wrappers.lambdaUpdate(Menu.class) .setSql(" priority=priority-1") .ge(Menu::getPriority, currentTypePriority) .lt(Menu::getPriority, nextTypePriority) ); nextTypePriority=nextTypePriority-1; } //修改自己 currentType.setPriority(nextTypePriority); updateById(currentType);
-----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------
(蓝奏云官网有些地址失效了,需要把请求地址lanzous改成lanzoux才可以)