wrapper


wrapper 為包裝類,QueryWrapper查詢包裝類

public List<Map<String, Object>> getWrapper(Map<String, Object> param) {
	QueryWrapper<Project> wrapper = new QueryWrapper<>();//新建查詢包裝類
	String key = "name";
	String where = StringKit.of(param.get(key));
	if (!where.isEmpty()) {
		wrapper.like(key, where); //模糊匹配key(name)和where(param.get(key))
	}
	
	key = "department_id";
	where = StringKit.of(param.get(key)); // 未加 if 判斷 傳參中是否包含該 key, 則此 key 為必傳項,不傳或傳空,均直接返回 null
	if (where.isEmpty()) {
		return null;
	}
	wrapper.eq(key, where);//查詢 project 中 key(department_id)對應的值與 where 相等的 project 
	key = "language";//key為language
	if (param.containsKey(key)) {  //判斷傳參中是否包含該 key ,包含才有后續判斷,不包含則不帶此 key 的篩選條件
  	where = StringKit.of(param.get(key));//where為key對應的value
  	if (where.isEmpty()) {
	    return null;
  	}
	String[] lanArray = where.split(",");//where為逗號分割的字符串,轉化為字符串數組
	List<Object> lanList = new ArrayList<>();
	for (String lan : lanArray) {
		if (StringKit.notEmpty(lan)) {
			lanList.add(lan);
		}
	}
	if (lanList.isEmpty()) {
		return null;
	}
	wrapper.in(key, lanList);//查詢 Project 中 key(language)對應的值在  lanList 當中的 project 
	List<Map<String,Object>> pros = wrapper == null ? new ArrayList<>() : getInfo((mapper.selectList(wrapper)));
	return pros;
}
//mapper.selectList(wrapper) 為獲取 按 wrapper 條件查找到的 project 的列表
//mapper.selectCount(wrapper) 為獲取 按 wrapper 條件查找到的 project 的數量


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM