jQuery条件分页 代替离线查询(附代码)
importjavax.persistence.criteria.CriteriaBuilder; importjavax.persistence.criteria.CriteriaQuery; importjavax.persistence.criteria.Join; importjavax.persistence.criteria.Predicate; importjavax.persistence.criteria.Root; importnet.sf.json.JSONObject; importnet.sf.json.JsonConfig; @Action("courierAction_pageQuery") publicStringpageQuery()throwsException{ Pageablepageable=newPageRequest(page-1,rows); finalStringcourierNum=model.getCourierNum(); finalStringcompany=model.getCompany(); finalStringtype=model.getType(); finalStandardstandard=model.getStandard(); //相当于DetchedCriteria对象.通过specification封装过滤条件 Specificationspecification=newSpecification (){ @Override publicPredicatetoPredicate(Root root,CriteriaQuery>query,CriteriaBuildercb){ //root:根实体query:排序,封装条件CriteriaBuilder:Predicate断言工厂,产生Predicate对象 //添加过滤条件:添加快递员编号条件 //p1:实体中属性p2:条件 List list=newArrayList<>(); if(StringUtils.isNotBlank(courierNum)){ Predicatep1=cb.equal(root.get("courierNum").as(String.class),courierNum); list.add(p1); } if(StringUtils.isNotBlank(company)){ Predicatep2=cb.equal(root.get("company").as(String.class),company); list.add(p2); } if(StringUtils.isNotBlank(type)){ Predicatep3=cb.equal(root.get("type").as(String.class),type); list.add(p3); } //sql:select*fromT_COURIERtinnerjoint_Standardsont.c_standard_id=s.c_id //wheres.c_name='标准一(100公斤)'; //JPQL:fromCouriercinnerjoinc.standardswheres.name=""; if(standard!=null&&StringUtils.isNotBlank(standard.getName())){ //返回关联对象 Join
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助~如果有疑问大家可以留言交流,谢谢大家对毛票票的支持!