pom.xml
<properties>
<mybatisplus.version>3.0.7</mybatisplus.version>
</properties>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatisplus.version}</version>
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
</exclusion>
</exclusions>
</dependency>
Controller
@Autowired
private XXXService xxxService;
@GetMapping(value = "/xxx/list")
@ApiOperation(value = "查询信息列表", notes = "列表")
@ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query",required = true, dataType="int") ,
@ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType="String") ,
@ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String")
})
public Result<PageData<XXXDTO>> pageInfo(@ApiIgnore @RequestParam Map<String, Object> params){
CasClientWebUser webUser = LoginUtil.getLoginUser();
Long deptId = webUser.getDeptId();
// 当前部门ID以及下级部门ID
params.put("deptId",deptId);
PageData<XXXDTO> page = xxxService.page(params);
return new Result<PageData<XXXDTO>>().ok(page);
}
Servcie
PageData<D> page(Map<String, Object> params);
ServiceImpl
// 查询条件
@Override
public QueryWrapper<XXXEntity> getWrapper(Map<String, Object> params){
Long id = MapUtils.getLong(params,"id");
String title = MapUtils.getString(params,"title");
Integer status = MapUtils.getInteger(params,"status");
QueryWrapper<XXXEntity> wrapper = new QueryWrapper<>();
wrapper.eq(id != null ,"id", id);
// 等同于mybatis
//<if test="id != null">
// AND id = #{id}
//</if>
wrapper.like(StringUtils.isNotBlank(title),"title", title);
wrapper.eq(status != null,"status", status);
wrapper.apply(deptId != null && deptId != 0L,"FIND_IN_SET ('"+deptId+"',org_branch)");
wrapper.orderByDesc("create_date");
return wrapper;
}
@Override
public PageData<XXXDTO> page(Map<String, Object> params){
IPage<XXXEntity> page = baseDao.selectPage(
getPage(params, Constant.CREATE_DATE, false),
getWrapper(params)
);
return getPageData(page, currentDtoClass());
}
Dao
IPage<T> selectPage(IPage<T> page, @Param("ew") Wrapper<T> queryWrapper);