sql的criteria写法-------Mysql语句在java代码中的实现(含分页实现)


public IvgResponse> queryPurchaseOrder(W2CPurchaseOrderDTO dto){
        Page page = PageHelper.startPage(dto.getPage(), dto.getRows());
        RowBounds rowBounds = new RowBounds((dto.getPage()-1)*dto.getRows(), dto.getRows());

        Example query = new Example(FgoodsPurchaseOrder.class);
        query.orderBy("createDate").desc();
        Example.Criteria criteria = query.createCriteria();
        if (StringUtil.isNotEmpty(dto.getNum())) {
            criteria.andLike("num", "%"+dto.getNum()+"%");
        }
        if (StringUtil.isNotEmpty(dto.getContractNum())) {
            criteria.andLike("contractNum", "%"+dto.getContractNum()+"%");
        }
        if (StringUtil.isNotEmpty(dto.getItemNumber())) {
            criteria.andLike("itemNumber", "%"+dto.getItemNumber()+"%");
        }
        if (StringUtil.isNotEmpty(dto.getLocationId())) {
            criteria.andEqualTo("fromLocationId", dto.getLocationId());
        }
        if (StringUtil.isNotEmpty(dto.getClientId())) {
            criteria.andEqualTo("clientId", dto.getClientId());
        }
        if (dto.getStartTime()!= null && dto.getEndTime()!= null) {
            criteria.andBetween("createDate", dto.getStartTime(),  dto.getEndTime());
        }
        //List goodsPackages = goodsPackageMapper.selectByExampleAndRowBounds(query, rowBounds);
        List fpList = fgoodsPurchaseOrderMapper.selectByExampleAndRowBounds(query, rowBounds);

        IvgResponse> response = IvgResponse.createOKResponse();
        response.setData(fpList);

        PageInfo pageInfo = new PageInfo<>(page.getResult());
        response.setTotal((int)pageInfo.getTotal());
        return response;
    }

你可能感兴趣的:(sql的criteria写法-------Mysql语句在java代码中的实现(含分页实现))