返回顶部
首页 > 资讯 > 精选 >利用EasyUi与Spring Data 怎么实现一个条件分页查询功能
  • 460
分享到

利用EasyUi与Spring Data 怎么实现一个条件分页查询功能

springdataeasyuidat 2023-05-31 09:05:13 460人浏览 安东尼
摘要

本篇文章为大家展示了利用EasyUi与spring Data 怎么实现一个条件分页查询功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Spring data 介绍 Spring data 出现目的

本篇文章为大家展示了利用EasyUi与spring Data 怎么实现一个条件分页查询功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

Spring data 介绍

Spring data 出现目的 为了简化、统一 持久层 各种实现技术 api ,所以 spring data 提供一套标准 API 和 不同持久层整合技术实现 .

自己开发 Repository 只需要继承 JpaRepository 接口CrudRepository
save、 delete、 deteleAll、 findAll、 findOne、 count
PagingAndSortingRepository
findAll(Sort) 基于排序的查询、 findAll(Pageable) 基于分页的查询

 Spring data Query 使用 实现条件查询

第一种 根据方法命名规则自动生成

基于一列查询等值查询 findBy 列名 例如: findByName(String name);

基于一列模糊查询 findBy 列名 Like 例如: findByNameLike(String name)

基于两列等值查询 findBy 列名 And 列名 例如: findByUsernameAndPassword(String username, String passWord

第二种 不按命名规则写的查询方法,可以配置@Query 绑定 JPAL 语句或者 sql 语句

利用EasyUi与Spring Data 怎么实现一个条件分页查询功能

第三种 不按命名规则写的查询方法 配置@Query 没写语句 , 实体类 @NamedQuery 定义

利用EasyUi与Spring Data 怎么实现一个条件分页查询功能

带有条件 修改和删除操作

使用@Query 注解完成 , 搭配使用@Modifying 标记修改、删除操作

将记录 1 的 最小长度改为 15

利用EasyUi与Spring Data 怎么实现一个条件分页查询功能

注意:使用单体测试,测试 DAO ,要添加事务,设置事务不回滚

利用EasyUi与Spring Data 怎么实现一个条件分页查询功能

 代码实现

1.前端页面端

//首先需要使用到表单序列化为JSON对象的方法    //将表单序列化为json对象      $.fn.serializeJson=function(){       var serializeObj={};       var array=this.serializeArray();       var str=this.serialize();       $(array).each(function(){         if(serializeObj[this.name]){           if($.isArray(serializeObj[this.name])){             serializeObj[this.name].push(this.value);           }else{             serializeObj[this.name]=[serializeObj[this.name],this.value];           }         }else{           serializeObj[this.name]=this.value;          }       });       return serializeObj;     };

2.获取到giid表单信息

 $(function(){// 先将body隐藏,再显示,不会出现页面刷新效果   $("body").CSS({visibility:"visible"});           // 信息表格     $('#grid').datagrid( {    iconCls : 'icon-forward',    fit : true,    border : false,    rownumbers : true,    striped : true,    pageList: [30,50,100],    pagination : true,    toolbar : toolbar,    url : "../../courier_pageQuery.action",    idField : 'id',    columns : columns,    onDblClickRow : doDblClickRow    //按条件查询   $("#searchBtn").click(function(){     //将searchFrom表单中的数据转成json数据      var params = $("#searchFORM").serializeJson();     //将json对象,绑定到datagrid上,完成带有条件查询的请求    $("#grid").datagrid('load',params);    //关闭查询窗口     $("#searchWindow").window('close');     });  }); });

3.后台代码

action操作

 @SuppressWarnings("all")@ParentPackage("json-default")@Namespace("/")@Controller@Scope("prototype")public class CourierAction extends ActionSupport implements ModelDriven<Courier>{     //模型驱动  private Courier courier = new Courier();     @Override  public Courier getModel() {         return courier;  }     //注入CourierService  @Autowired  private CourierService courierSerive;             @Action(value="curier_save",results={@Result(name="success",      location="./pages/base/courier.html",type="redirect")})  public String save(){         //调用业务层    courierSerive.save(courier);    return SUCCESS;  }        //--分页查询所有取派员数据---  //接收参数 属性驱动  private int page;  private int rows;  public void setPage(int page) {    this.page = page;  }   public void setRows(int rows) {    this.rows = rows;  }    @Action(value="courier_pageQuery",results={@Result(name="success",type="json")})  public String pageQuery(){         //调用Spring的方法    Pageable pageable = new PageRequest(page-1, rows);         //根据查询条件,构造Specification条件查询对象    Specification<Courier> specification = new Specification<Courier>() {                   @Override      public Predicate toPredicate(Root<Courier> root, CriteriaQuery<?> query, CriteriaBuilder cb) {                 //将查询到的结果放到集合中        List<Predicate> list = new ArrayList<Predicate>();                 //单表查询(查询当前对象对应的数据表),查询工号,等值查询        if(StringUtils.isNotBlank(courier.getCourierNum())){          Predicate p1 =cb.equal(root.get("courierNum").as(String.class), courier.getCourierNum());          list.add(p1);        }                 if(StringUtils.isNotBlank(courier.getCompany())){          //查询所属单位,模糊查询          Predicate p2 = cb.like(root.get("company").as(String.class), "%"+courier.getCompany()+"%");          list.add(p2);        }                 if(StringUtils.isNotBlank(courier.getType())){          //查询类型,等值查询          Predicate p3 = cb.equal(root.get("type").as(String.class),courier.getType());          list.add(p3);        }                 //多表查询,查询标准        Join<Courier, Standard> standardRoot = root.join("standard",JoinType.INNER);        if(courier.getStandard() != null && StringUtils.isNotBlank(courier.getStandard().getName())){          //进行模糊查询          Predicate p4 = cb.like(standardRoot.get("name").as(String.class),               "%"+courier.getStandard().getName()+"%");          list.add(p4);                   }        //new Predicate[0] 代表一个泛型,返回类型是Predicate        return cb.and(list.toArray(new Predicate[0]));      }    };              //调用业务层    Page<Courier> pageData=courierSerive.findAll(specification,pageable);    //压入值栈对象    //根据查询结果封装datagrid需要的数据格式    Map<String,Object> result = new HashMap<String,Object>();    result.put("total", pageData.getTotalElements());    result.put("rows", pageData.getContent());         //压入值栈返回    ActionContext.getContext().getValueStack().push(result);     return SUCCESS;  }}

Service层操作

  @Override  public Page<Courier> findAll(Specification<Courier> specification, Pageable pageable) {         return courierRepository.findAll(specification,pageable);  }

Dao操作,Dao接口需要继承两个接口

Spring Data 还是非常强大的,封装了hibernate的很多方法,我们可以直接拿来用

public interface CourierRepository extends JpaRepository<Courier, Integer>,  JpaSpecificationExecutor<Courier>{}

上述内容就是利用EasyUi与Spring Data 怎么实现一个条件分页查询功能,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: 利用EasyUi与Spring Data 怎么实现一个条件分页查询功能

本文链接: https://lsjlt.com/news/224570.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 利用EasyUi与Spring Data 怎么实现一个条件分页查询功能
    本篇文章为大家展示了利用EasyUi与Spring Data 怎么实现一个条件分页查询功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Spring data 介绍 Spring data 出现目的...
    99+
    2023-05-31
    spring data easyui dat
  • Spring MVC结合Spring Data JPA如何实现按条件查询和分页功能
    这篇文章主要为大家展示了“Spring MVC结合Spring Data JPA如何实现按条件查询和分页功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring MVC结合Spring D...
    99+
    2023-05-30
    spring mvc jpa
  • 利用Java怎么实现一个分页查询并显示功能
    本篇文章为大家展示了利用Java怎么实现一个分页查询并显示功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。sql语句大概形式为:select * from table limit 开始索...
    99+
    2023-05-31
    java 分页查询 ava
  • 使用Spring Data JPA如何实现多条件的分页查询
    使用Spring Data JPA如何实现多条件的分页查询?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。话不多说,请看代码:public Map<String, Obje...
    99+
    2023-05-31
    spring 分页查询 dat
  • Springboot+Mybatis怎么实现分页加条件查询功能
    本篇内容介绍了“Springboot+Mybatis怎么实现分页加条件查询功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!User.xml...
    99+
    2023-06-30
  • Springboot+Mybatis实现分页加条件查询功能
    本文实例为大家分享了Springboot+Mybatis实现分页加条件查询的具体代码,供大家参考,具体内容如下 User.xml <xml version="1.0" enco...
    99+
    2024-04-02
  • JavaWeb分页查询功能怎么实现
    本篇内容主要讲解“JavaWeb分页查询功能怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaWeb分页查询功能怎么实现”吧!效果:实现:分页查询有几个比较重要的参数,pageNum...
    99+
    2023-06-26
  • 利用Spring MVC怎么实现一个文件上传功能
    本篇文章给大家分享的是有关利用Spring MVC怎么实现一个文件上传功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。使用Spring MVC 上传文件必须配置文件解析器,如...
    99+
    2023-05-31
    springmvc 一个文件
  • springboot +mybatis 使用PageHelper实现分页并带条件模糊查询功能
    完整案例: SpringBoot + laypage分页 + 模糊查询 完整案例 下面在通过实例代码介绍下springboot +mybatis 使用PageHelper实现分页并带...
    99+
    2024-04-02
  • 利用mybatis如何实现一个一对多查询功能
    利用mybatis如何实现一个一对多查询功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.需求分析:在开发中会遇到这样一个问题,查询订单信息,级联查询出用户信息和订单明...
    99+
    2023-05-31
    mybatis 一对多查询
  • 利用spring框架怎么实现一个邮件发送功能
    这篇文章将为大家详细讲解有关利用spring框架怎么实现一个邮件发送功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本...
    99+
    2023-05-30
    spring
  • 使用Django怎么实现一个分页功能
    这篇文章主要为大家详细介绍了使用Django怎么实现一个分页功能,文中示例代码介绍的非常详细,具有一定的参考价值,发现的小伙伴们可以参考一下:创建项目创建APP,添加APP这些就不在多说我们这次重点来看到视图函数下面是路由设置视图函数继承T...
    99+
    2023-06-06
  • 利用IKAnalyzer与Lucene怎么实现一个中文分词功能
    利用IKAnalyzer与Lucene怎么实现一个中文分词功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。步骤如下:step1:准备相关的Jar依赖,lucene-cor...
    99+
    2023-05-31
    ikanalyzer lucene
  • 利用Glide怎么实现一个加载进度条功能
    利用Glide怎么实现一个加载进度条功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。使用Glide.with(MainActivity.this).using(new Pro...
    99+
    2023-05-31
    glide %d
  • java项目中使用datatables如何实现一个带条件查询功能
    这篇文章给大家介绍java项目中使用datatables如何实现一个带条件查询功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。使用datatables自带后台查询 前台代码:<!DOCTYPE html>...
    99+
    2023-05-31
    java 条件查询 datatables
  • 如何在Spring MVC中使用MyBatis与MySQL实现一个分页功能
    这篇文章将为大家详细讲解有关如何在Spring MVC中使用MyBatis与MySQL实现一个分页功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。方法如下: 首先写一个分页的工具...
    99+
    2023-05-31
    springmvc mysql mybatis
  • 利用java怎么实现一个网页爬虫功能
    利用java怎么实现一个网页爬虫功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。爬虫实现原理网络爬虫基本技术处理网络爬虫是数据采集的一种方法,实际项目开发中,通过爬虫做数...
    99+
    2023-05-31
    java ava
  • 利用Spring Boot怎么实现一个表单验证功能
    这期内容当中小编将会给大家带来有关利用Spring Boot怎么实现一个表单验证功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。所谓表单验证,即校验用户提交的数据的合理性的,比如是否为空了,密码长度是否...
    99+
    2023-05-31
    springboot 一个表
  • 利用Java人实现一个二分法查找功能
    这期内容当中小编将会给大家带来有关利用Java人实现一个二分法查找功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。算法假如有一组数为3,12,24,36,55,68,75,88要查给定的值24.可设三个...
    99+
    2023-05-31
    java 二分法查找
  • Android开发中利用ListView怎么实现一个分页加载功能
    这期内容当中小编将会给大家带来有关Android开发中利用ListView怎么实现一个分页加载功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体如下:package eoe.listview;impo...
    99+
    2023-05-31
    android 分页加载 listview
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作