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


public IvgResponse<List<FgoodsPurchaseOrder>> queryPurchaseOrder(W2CPurchaseOrderDTO dto){
        Page<FgoodsPurchaseOrder> 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<FGoodsPackage> goodsPackages = goodsPackageMapper.selectByExampleAndRowBounds(query, rowBounds);
        List<FgoodsPurchaseOrder> fpList = fgoodsPurchaseOrderMapper.selectByExampleAndRowBounds(query, rowBounds);

        IvgResponse<List<FgoodsPurchaseOrder>> response = IvgResponse.createOKResponse();
        response.setData(fpList);

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。