1. 程式人生 > 其它 >jeesite實戰(三十六)——非status的其他屬性In條件查詢

jeesite實戰(三十六)——非status的其他屬性In條件查詢

技術標籤:jeesite4jeesitein條件查詢

系列文章目錄


提示:寫完文章後,目錄可以自動生成,如何生成可參考右邊的幫助文件

status的In條件查詢


前言

本系列文章主要記錄專案過程中重點的專案技術


一、背景

與上一篇文章類似,主要記錄一個非status屬性需要查詢符合條件的幾個數值的查詢,用in查詢

二、實現過程

1.新增一個介面

目的是為了避免與預設的介面衝突

	@RequiresPermissions("plan:trainingPlan:view"
) @RequestMapping(value = "executePlanPage") @ResponseBody public Page<TrainingPlan> executePlanPage(TrainingPlan trainingPlan, HttpServletRequest request, HttpServletResponse response) { trainingPlan.setPage(new Page<>(request, response)); // 呼叫資料許可權過濾方法 trainingPlanService.
addDataScopeFilter(trainingPlan); Page<TrainingPlan> page = trainingPlanService.executePlanPage(trainingPlan); return page; }

2.修改entity實體

直接在實體中新增如下方法

public String[] getExecutionStatus_in() {
		return sqlMap.getWhere().getValue("execution_status", QueryType.IN);
	}

	public
void setExecutionStatus_in(String[] executionStatus_in) { sqlMap.getWhere().and("execution_status", QueryType.IN, executionStatus_in); }

下圖示記的引數名稱為SQL語句查詢的條件引數名稱
在這裡插入圖片描述

在這裡插入圖片描述

修改service方法

copy分頁方法,在方法中呼叫entity中新增的方法,具體程式碼如下

@Transactional(readOnly=false)
	public Page<TrainingPlan> executePlanPage(TrainingPlan trainingPlan) {
		if(trainingPlan.getExecutionStatus()==null||trainingPlan.getExecutionStatus().equals("")) {
		//設定陣列的值
			String[] statuArray = {"1","2"};
			trainingPlan.setExecutionStatus_in(statuArray);
		}
		
		return super.findPage(trainingPlan);
	}

至此呼叫這個介面就好了

注意事項

呼叫介面頁面的引數executionStatus不能存在;假設存在值且為0,那麼查詢條件為execttion_status=‘0’ and exection_status in (‘1’, ‘2’)

總結

至此,本文章結束