分页,数组入参mybatis写法实例
数组入参mybatis查找,模糊查找
mapper.xml:
select
user_name as username,
mobile as mobile
from stockin_order
and s.space_id in
#{spaceId}
AND i.sku like concat('%',#{query.sku},'%')
Mapper接口:
public interface StockMapper extends baseMapper {
IPage pageSearchList(IPage page, @Param("query") StockListRequest request);
}
service:
public PageResponse getStockListByRequest(StockListRequest request) {
PageResponse pageResponse = new PageResponse<>();
IPage pageResult = stockMapper.pageSearchList(new Page<>(request.getPageIndex(), request.getPageSize()), request);
List resultList = pageResult.getRecords();
List responseList = resultList.stream().map(item -> {
StockResponse response = new StockResponse();
BeanUtils.copyProperties(item, response);
return response;
}).collect(Collectors.toList());
pageResponse.setTotalCount(pageResult.getTotal());
pageResponse.setContent(responseList);
return pageResponse;
}
request:
@Data
public class StockListRequest extends PageRequest {
@ApiModelProperty(value = "用户名", name = "username")
private String username;
@ApiModelProperty(value = "手机号", name = "mobile") //swagger-ui使用,为了前端开发方便、可以不用
private String mobile;
}
request基类:
@Data
public class PageRequest {
@NotNull
private Integer pageSize = 20;
@NotNull
private Integer pageIndex = 1;
private String sortField;
private String sortOrder; //asc,desc
}