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