Mybatisplus条件结构器QueryWrapper
QueryWrapper:Entity 对象封装操作类
LambdaQueryWrapper :用于Lambda语法应用的查问Wrapper
例:
QueryWrapper<User> queryWrapper = QueryGenerator.initQueryWrapper(user,null); queryWrapper.eq("user_name",user.getUserName()); IPage<User> page = new Page<>(pageNo, pageSize); IPage<User> pageList = userServer.page(page, queryWrapper);
例:
protected FrfReptPlan getFrfReptPlan(String contractId,String perdNum,String costType){ return frfReptPlanService.getOne(new LambdaQueryWrapper<FrfReptPlan>() .eq(FrfReptPlan::getFpfContrId, contractId) .eq(FrfReptPlan::getPerdNum, perdNum) .eq(FrfReptPlan::getCostType,costType));}
罕用办法:
办法 形容 等价 例子eq 等于 = eq("name","吕布")name="吕布"ne 不等于 <> ne("name","吕布")含意:name<>"吕布"gt 大于 > gt("age","10")含意:age>10lt 小于 < lt("age","10")含意:age<10ge 大于等于 >= ge("age","10")含意:age>=10le 小于等于 <= le("age","10")含意:age<=10between 在值1值2之间 between and between("age","10","18")含意:10<=age<=18notBetween 不在值1值2之间 not bteween and notBetween("age","10","18")含意:18<age或age<10like 含糊查问 like like("name","吕")含意:name like "%吕%"notLike 含糊查问 not Like notLike("name","吕")含意:name not like "%吕%"likLeft 含糊查问 likLeft("name","吕")含意:name like "%吕"likeRight 含糊查问 likeRight("name","吕")含意:name like "吕%"isNull 是否为空isNotNull 字段为不空in in in age in (10,15,20)含意:age在10,15,20之间notIn not in not in age not in (10,15,20)含意:age不在10,15,20之间inSql in(sql) inSql("id","select id from table")含意:id in (select id from table)notInSql not in(sql) notInSql("id","select id from table")含意:id not in (select id from table)groupBy 分组 group by groupBy(id,name)含意:group by id,nameorderByAsc 升序 orderByAsc(id,name)含意:order by id asc,name ascorderByDesc 降序 orderByDesc(id,name)含意:order by id desc,name descorderBy 排序 order by orderBy(true,true,"id","name")含意:order by id asc,name aschaving havingor 或 or eq("id","1") or eq("id","2")含意:id='1' or id='2'and 且 and eq("id","1") and eq("id","2")含意:id='1' and id='2'apply 拼接sqllast 忽视优化规定间接拼接sql最初exists 拼接notExists 拼接nested 失常嵌套,不带and或者or