电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java簡單高效實現分頁功能

瀏覽:104日期:2022-08-25 18:06:52

今天想說的就是能夠在我們操作數據庫的時候更簡單的更高效的實現,現成的CRUD接口直接調用,方便快捷,不用再寫復雜的sql,帶嗎簡單易懂,話不多說上方法

1、Utils.java工具類中的方法

/** 2 * 獲取Sort * * @param direction - 排序方向 * @param column - 用于排序的字段 */ public static Sort getSort(String direction,String column){ Sort sort = null; if(column == null || column == '') return null; if(direction.equals('asc')||direction.equals('ASC')){ sort = Sort.by(Sort.Direction.ASC,column); }else { sort = Sort.by(Sort.Direction.DESC,column); } return sort; } /** * 獲取分頁 * @param pageNumber 當前頁 * @param pageSize 頁面大小 * @param sort 排序;sort為空則不排序只分頁 * @return 分頁對象 */ public static Pageable getPageable(int pageNumber,int pageSize,Sort sort){ if(sort!=null){ return PageRequest.of(pageNumber,pageSize,sort); } return PageRequest.of(pageNumber,pageSize); } /** * 判斷String是否為空 * @param str * @return */ private static boolean isEmpty(String str){ if(str.equals(null)||str.equals('')) return true; return false; }

2、實現類

這里查詢相關參數是前端傳的,所以用默認值了,查詢條件可以是多條件動態,排序也可以是動態的,只要傳排序字段和排序方向對號入座即可。

@Overridepublic Page<User> findAll() { // 創建測試對象 User user = new User(); user.setName('1'); Sort sort = Utils.getSort('asc','name'); Pageable pageable = Utils.getPageable(0,5,sort); // 調用組裝查詢條件方法 Specification<User> spec = getSpecification(user); return userRepository.findAll(spec,pageable);}/** * 組裝查詢條件 * @param user -查詢相關對象 * @return 返回組裝過的多查詢條件 */private Specification<User> getSpecification(User user) { Specification<User> specification = new Specification<User>() { @Override public Predicate toPredicate(Root<User> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) { List<Predicate> predicates = new ArrayList<>(); // 判斷條件不為空 if(!Utils.isEmpty(user.getName())){predicates.add(criteriaBuilder.like(root.get('name'),user.getName())); } return criteriaQuery.where(predicates.toArray(new Predicate[predicates.size()])).getRestriction(); } }; return specification;}

3.repository類中這么寫

@Repositorypublic interface UserRepository extends JpaRepository<User, Integer>, JpaSpecificationExecutor<User> {}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | VOC检测仪-甲醛检测仪-气体报警器-气体检测仪厂家-深恒安科技有限公司 | 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 礼仪庆典公司,礼仪策划公司,庆典公司,演出公司,演艺公司,年会酒会,生日寿宴,动工仪式,开工仪式,奠基典礼,商务会议,竣工落成,乔迁揭牌,签约启动-东莞市开门红文化传媒有限公司 | 废旧物资回收公司_广州废旧设备回收_报废设备物资回收-益美工厂设备回收公司 | 洗地机-全自动/手推式洗地机-扫地车厂家_扬子清洁设备 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 西门子气候补偿器,锅炉气候补偿器-陕西沃信机电工程有限公司 | 北京公司注册_代理记账_代办商标注册工商执照-企力宝 | Trimos测长机_测高仪_TESA_mahr,WYLER水平仪,PWB对刀仪-德瑞华测量技术(苏州)有限公司 | 宿松新闻网 宿松网|宿松在线|宿松门户|安徽宿松(直管县)|宿松新闻综合网站|宿松官方新闻发布 | 正压密封性测试仪-静态发色仪-导丝头柔软性测试仪-济南恒品机电技术有限公司 | 挤塑板-XPS挤塑板-挤塑板设备厂家[襄阳欧格]| 活性氧化铝球|氧化铝干燥剂|分子筛干燥剂|氢氧化铝粉-淄博同心材料有限公司 | 美国HASKEL增压泵-伊莱科elettrotec流量开关-上海方未机械设备有限公司 | 【德信自动化】点胶机_全自动点胶机_自动点胶机厂家_塑料热压机_自动螺丝机-深圳市德信自动化设备有限公司 | 橡胶粉碎机_橡胶磨粉机_轮胎粉碎机_轮胎磨粉机-河南鼎聚重工机械制造有限公司 | 户外环保不锈钢垃圾桶_标识标牌制作_园林公园椅厂家_花箱定制-北京汇众环艺 | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | 刚性-柔性防水套管-橡胶伸缩接头-波纹管补偿器-启腾供水材料有限公司 | 硫化罐-电加热蒸汽硫化罐生产厂家-山东鑫泰鑫智能装备有限公司 | 多物理场仿真软件_电磁仿真软件_EDA多物理场仿真软件 - 裕兴木兰 | 微波消解仪器_智能微波消解仪报价_高压微波消解仪厂家_那艾 | 浙江皓格药业有限公司| 对辊破碎机_四辊破碎机_双齿辊破碎机_华盛铭重工 | 包塑软管|金属软管|包塑金属软管-闵彬管业 | 耐腐蚀泵,耐腐蚀真空泵,玻璃钢真空泵-淄博华舜耐腐蚀真空泵有限公司 | 棕刚玉-白刚玉厂家价格_巩义市东翔净水材料厂 | 带式压滤机_污泥压滤机_污泥脱水机_带式过滤机_带式压滤机厂家-河南恒磊环保设备有限公司 | 药品仓库用除湿机-变电站用防爆空调-油漆房用防爆空调-杭州特奥环保科技有限公司 | 混合气体腐蚀试验箱_盐雾/硫化氢/气体腐蚀试验箱厂家-北京中科博达 | 【星耀裂变】_企微SCRM_任务宝_视频号分销裂变_企业微信裂变增长_私域流量_裂变营销 | 清洁设备_洗地机/扫地机厂家_全自动洗地机_橙犀清洁设备官网 | 别墅图纸超市|别墅设计图纸|农村房屋设计图|农村自建房|别墅设计图纸及效果图大全 | 电竞学校_电子竞技培训学校学院-梦竞未来电竞学校官网 | 北京签证代办_签证办理_商务签证_旅游签证_寰球签证网 | 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 大型冰雕-景区冰雕展制作公司,3D创意设计源头厂家-[赛北冰雕] | 双舌接地线-PC68数字式高阻计-ZC36|苏海百科 | 酒糟烘干机-豆渣烘干机-薯渣烘干机-糟渣烘干设备厂家-焦作市真节能环保设备科技有限公司 | 培训中心-翰香原香酥板栗饼加盟店总部-正宗板栗酥饼技术 |