JeecgBoot icon indicating copy to clipboard operation
JeecgBoot copied to clipboard

queryWrapper orderByDesc排序不生效

Open Witnin opened this issue 11 months ago • 2 comments

版本号:3.6.2
前端版本:vue3版
问题描述: queryWrapper orderByDesc排序不生效
截图&代码:

image image image

Witnin avatar Feb 28 '24 08:02 Witnin

@Witnin 用 initQueryWrapper用 req 的参数创建的QueryWrapper,已经根据传递进来的参数生成了排序规则,用代码添加新的排序规则是无效的。

要想自定义排序,可以自己创建 LambdaQueryWrapper,示例如下,查询使用了 like,不是默认的 eq:

	@Operation(summary = "度量单位-分页列表查询")
	@GetMapping(value = "/list")
	public Result<IPage<SysUom>> queryPageList(SysUom sysUom,
											  @RequestParam(name="uomCategory", defaultValue = "") String uomCategory,
											  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
											  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
											   @RequestParam(name="uomName", defaultValue="") String uomName,
											   @RequestParam(name="uomCode", defaultValue="") String uomCode,
											  HttpServletRequest req) {
		Result<IPage<SysUom>> result = new Result<IPage<SysUom>>();
		LambdaQueryWrapper<SysUom> queryWrapper = new LambdaQueryWrapper<SysUom>();
		if (uomCategory.length() > 0) {
			queryWrapper.eq(SysUom::getUomCategory, uomCategory);
		}
		if (uomName.length() > 0) {
			queryWrapper.like(SysUom::getUomName, uomName);
		}
		if (uomCode.length() > 0) {
			queryWrapper.like(SysUom::getUomCode, uomCode);
		}
		queryWrapper.orderByAsc(SysUom::getUomCategory);
		queryWrapper.orderByAsc(SysUom::getSortNo);

		Page<SysUom> page = new Page<SysUom>(pageNo, pageSize);
		IPage<SysUom> pageList = this.sysUomService.page(page, queryWrapper);
		result.setSuccess(true);
		result.setResult(pageList);
		return result;
	}

citynook avatar Feb 29 '24 07:02 citynook

上面的方法也可以,就是不能使用initQueryWrapper方法了;也可以采用下面的方案配合initQueryWrapper来使用; 在initQueryWrapper之前增加如下代码用来替换默认的按照时间排序。 Map<String, String[]> map =new HashMap(req.getParameterMap()); map.put("column",new String[]{"address_is_top"}); map.put("order",new String[]{"desc"});

hejie3225 avatar Mar 14 '24 03:03 hejie3225