jQuery条件分页 代替离线查询(附代码)
发布时间 - 2026-01-11 02:50:28 点击率:次
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<Courier> specification = new Specification<Courier>() {
@Override
public Predicate toPredicate(Root<Courier> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
//root:根实体 query:排序,封装条件 CriteriaBuilder:Predicate断言工厂,产生Predicate对象
//添加过滤条件:添加快递员编号条件
//p1:实体中属性 p2:条件
List<Predicate> 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<Object, Object> join = root.join("standard");
Predicate p4 = cb.equal(join.get("name").as(String.class), standard.getName());
list.add(p4);
}
if(list.size()==0){
return null;
}
//list集合转为数组
Predicate[] restrictions = new Predicate[list.size()];
restrictions = list.toArray(restrictions);
return cb.and(restrictions);
}
};
Page<Courier> page = courierService.findAll(specification, pageable);
Map<String, Object> map = new HashMap<>();
map.put("total", page.getTotalElements());
map.put("rows", page.getContent());
//将fixedares集合属性排除掉,不转json
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setExcludes(new String[]{"fixedAreas"});
String json = JSONObject.fromObject(map, jsonConfig).toString();
ServletActionContext.getResponse().setContentType("text/json;charset=utf-8");
ServletActionContext.getResponse().getWriter().write(json);
return NONE;
}
Dao:
public interface CourierDao extends JpaRepository<Courier, Integer>, JpaSpecificationExecutor<Courier> {
}
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助~如果有疑问大家可以留言交流,谢谢大家对的支持!
# jq
# 条件分页
# 离线查询
# 条件分页代替离线
# jQuery插件DataTables分页开发心得体会
# jQuery Ajax 实现分页 kkpager插件实例代码
# 快速掌握jquery分页插件jqPaginator的使用方法
# jQuery Pagination分页插件_动力节点Java学院整理
# 基于jQuery封装的分页组件
# jQuery给表格添加分页效果
# jQuery实现ajax无刷新分页页码控件
# jQuery实现页码跳转式动态数据分页
# 这篇文章
# 谢谢大家
# 不转
# 有疑问
# type
# getCompany
# getType
# getStandard
# standard
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何登录建站主机?访问步骤全解析
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
教学论文网站制作软件有哪些,写论文用什么软件
?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何在云主机上快速搭建网站?
JS中对数组元素进行增删改移的方法总结
php 三元运算符实例详细介绍
Linux安全能力提升路径_长期防护思维说明【指导】
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
Laravel Admin后台管理框架推荐_Laravel快速开发后台工具
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
JavaScript如何实现倒计时_时间函数如何精确控制
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
如何为不同团队 ID 动态生成多个独立按钮
,网页ppt怎么弄成自己的ppt?
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
Linux系统命令中screen命令详解
如何用花生壳三步快速搭建专属网站?
音乐网站服务器如何优化API响应速度?
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
Laravel如何实现用户密码重置功能?(完整流程代码)
实例解析Array和String方法
深圳网站制作平台,深圳市做网站好的公司有哪些?
如何快速搭建支持数据库操作的智能建站平台?
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
网站建设整体流程解析,建站其实很容易!
海南网站制作公司有哪些,海口网是哪家的?
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
WEB开发之注册页面验证码倒计时代码的实现
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
详解阿里云nginx服务器多站点的配置
如何用美橙互联一键搭建多站合一网站?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何挑选优质建站一级代理提升网站排名?
Laravel如何配置和使用缓存?(Redis代码示例)
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
Android Socket接口实现即时通讯实例代码
Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
如何在Ubuntu系统下快速搭建WordPress个人网站?
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】

