这篇文章主要介绍jQuery条件分页代替离线查询的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Join;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
@Action("courierAction_pageQuery")
public String pageQuery() throws Exception {
Pageable pageable = new PageRequest(page-1, rows);
final String courierNum = model.getCourierNum();
final String company = model.getCompany();
final String type = model.getType();
final Standard standard = model.getStandard();
//相当于DetchedCriteria对象.通过specification封装过滤条件
Specification specification = new Specification() {
@Override
public Predicate toPredicate(Root root, CriteriaQuery> query, CriteriaBuilder cb) {
//root:根实体 query:排序,封装条件 CriteriaBuilder:Predicate断言工厂,产生Predicate对象
//添加过滤条件:添加快递员编号条件
//p1:实体中属性 p2:条件
List list = new ArrayList<>();
if(StringUtils.isNotBlank(courierNum)){
Predicate p1 = cb.equal(root.get("courierNum").as(String.class), courierNum);
list.add(p1);
}
if(StringUtils.isNotBlank(company)){
Predicate p2 = cb.equal(root.get("company").as(String.class), company);
list.add(p2);
}
if(StringUtils.isNotBlank(type)){
Predicate p3 = cb.equal(root.get("type").as(String.class), type);
list.add(p3);
}
//sql : select * from T_COURIER t inner join t_Standard s on t.c_standard_id = s.c_id
// where s.c_name = '标准一(100公斤)';
//JPQL: from Courier c inner join c.standard s where s.name = "";
if(standard!=null && StringUtils.isNotBlank(standard.getName())){
//返回关联对象
Join 以上是“jQuery条件分页代替离线查询的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联成都网站制作公司行业资讯频道!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。