在实体类的属性上使用@QueryWapper

    1. /**
    2. * 角色名称
    3. */
    4. @QueryWapper(QueryCondition = QueryConditionEnum.LIKE)
    5. private String roleName;

    QueryConditionEnum.Like 意味着当roleName有值时会进行模糊查询,没有值则不会查询。

    QueryConditionEnum里有多个条件类型,具体不一一介绍。

    使用注意事项:

    1. 使用此注解必须结合以下代码,否则不会生效。

      1. QueryWrapper<SysRole> queryWrapper = QueryWrapperUtil.initQueryWrapper(role);

      QueryWrapperUtil.initQueryWrapper()方法,里面封装了动态排序,数据权限和 注解查询条件拼接。

    2. 该注解必须使用在和数据库字段相对应的属性上,否则可能会报数据库找不到当前字段的错误。

    3. 如果你不在实体类上声明查询方式,系统默认不会进行拼接,需要你进行手动拼接条件。例:

      1. QueryWrapper<SysRole> queryWrapper = QueryWrapperUtil.initQueryWrapper(role);
      2. queryWrapper.lambda().eq(SysRole::getRoleCode,role.getRoleCode());
    4. 看上面代码可以注意到,该注解是基于mybati-plus的,只能使用单表,无法进行多表关联查询,如若多表关联查询,建议使用原始mybatis的xml编写sql。