资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

SpringDataJPA实现动态查询的两种方法-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

创新互联自2013年创立以来,先为临海等服务建站,临海等地企业,进行企业商务咨询服务。为临海企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

前言

一般在写业务接口的过程中,很有可能需要实现可以动态组合各种查询条件的接口。如果我们根据一种查询条件组合一个方法的做法来写,那么将会有大量方法存在,繁琐,维护起来相当困难。想要实现动态查询,其实就是要实现拼接SQL语句。无论实现如何复杂,基本都是包括select的字段,from或者join的表,where或者having的条件。在Spring Data JPA有两种方法可以实现查询条件的动态查询,两种方法都用到了Criteria API。

Criteria API

这套API可用于构建对数据库的查询。

类型安全。通过定义元数据模型,在程序编译阶段就可以对类型进行检查,不像SQL需要与Mysql进行交互后才能发现类型问题。

如下即为元数据模型。创建一个元模型类,类名最后一个字符为下划线,内部的成员变量与UserInfo.class这个实体类的属性值相对应。

@StaticMetamodel(UserInfo.class)
public class UserInfo_ {
  public static volatile SingularAttribute userId;
  public static volatile SingularAttribute name;
  public static volatile SingularAttribute age;
  public static volatile SingularAttribute high;
}

文章名称:SpringDataJPA实现动态查询的两种方法-创新互联
文章来源:http://cdkjz.cn/article/cdgshh.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220