1.0 内容介绍

  1. 使用Specification动态查询
  2. 使用Specification完成分页查询
  3. 表与表之间的关系及建表原则
  4. 配置JPA基于注解一对多关系的映射
  5. 完成一对多映射关系的相应操作
  6. 配置JPA基于注解多对多关系的映射
  7. 基于多对多映射关系的相应操作
  8. 对象导航查询

1.1 Specification动态查询介绍

  1. 什么是动态查询?
    查询条件不固定,可变的。
  2. 为什么要使用动态查询?
    实际开发中的查询条件不固定。
  3. 有时候我们在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在Spring Data Jpa中可以通过JpaSpecificationExecutor接口查询。相比JPQL,其优势是类型安全,更加的面向对象。

之前查询方式条件都是固定的,在实际开发中,查询条件往往是变的,需要动态的拼接查询条件。

/*创建客户表*/
CREATE TABLE cst_customer (cust_id bigint(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)',cust_name varchar(32) NOT NULL COMMENT '客户名称(公司名称)',cust_source varchar(32) DEFAULT NULL COMMENT '客户信息来源',cust_industry varchar(32) DEFAULT NULL COMMENT '客户所属行业',cust_level varchar(32) DEFAULT NULL COMMENT '客户级别',cust_address varchar(128) DEFAULT NULL COMMENT '客户联系地址',cust_phone varchar(64) DEFAULT NULL COMMENT '客户联系电话',PRIMARY KEY (`cust_id`)
) ENGINE=InnoDB AUTO_INCREMENT=94 DEFAULT CHARSET=utf8;/*创建联系人表*/
CREATE TABLE cst_linkman (lkm_id bigint(32) NOT NULL AUTO_INCREMENT COMMENT '联系人编号(主键)',lkm_name varchar(16) DEFAULT NULL COMMENT '联系人姓名',lkm_gender char(1) DEFAULT NULL COMMENT '联系人性别',lkm_phone varchar(16) DEFAULT NULL COMMENT '联系人办公电话',lkm_mobile varchar(16) DEFAULT NULL COMMENT '联系人手机',lkm_email varchar(64) DEFAULT NULL COMMENT '联系人邮箱',lkm_position varchar(16) DEFAULT NULL COMMENT '联系人职位',lkm_memo varchar(512) DEFAULT NULL COMMENT '联系人备注',lkm_cust_id bigint(32) NOT NULL COMMENT '客户id(外键)',PRIMARY KEY (`lkm_id`),KEY `FK_cst_linkman_lkm_cust_id` (`lkm_cust_id`),CONSTRAINT `FK_cst_linkman_lkm_cust_id` FOREIGN KEY (`lkm_cust_id`) REFERENCES `cst_customer` (`cust_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

1.2 Specification动态查询

1.2.1 使用Specifications完成条件查询

1.2.2 基于Specifications的分页查询

1.2.3 方法对应关系

Specification动态查询相关推荐

  1. 使用jap的specification动态查询的演示案例与一些注意事项

    目录 学习背景与使用步骤 使用specification进行动态分页查询案例演示,包含按时间的范围查询 学习背景与使用步骤 最近在项目中遇到一个需求:对单个或者是多个条件进行分页查询(写在一个接口中) ...

  2. spring data jpa封装specification实现简单风格的动态查询

    github:https://github.com/peterowang/spring-data-jpa-demo 单一实体的动态查询: @Servicepublic class AdvancedUs ...

  3. jpa 动态查询条件 数组_Spring data jpa 复杂动态查询方式总结

    一.Spring data jpa 简介 首先JPA是Java持久层API,由Sun公司开发, 希望整合ORM技术,实现天下归一.  诞生的缘由是为了整合第三方ORM框架,建立一种标准的方式,目前也是 ...

  4. Spring-Data-JPA 动态查询黑科技

    在开发中,用到动态查询的地方,所有的查询条件包括分页参数,都会被封装成一个查询类XxxQuery 比如说上一篇中的Item 那么ItemQuery就像这样 @Data public class Ite ...

  5. querydsl动态 sql_Spring data jpa 复杂动态查询方式总结

    一.Spring data jpa 简介 首先JPA是Java持久层API,由Sun公司开发, 希望整合ORM技术,实现天下归一.  诞生的缘由是为了整合第三方ORM框架,建立一种标准的方式,目前也是 ...

  6. SpringDataJpa (二)-动态查询多表操作

    SpringDataJpa (二)-动态查询&多表操作 一.动态查询 1.Specifications动态查询 1.1 搭建测试环境 1.1.1 导入坐标 1.1.2 创建客户实体类 1.1. ...

  7. Spring之Specification复杂查询和Criteria查询

    Specification官网 [一目了然]Spring Data JPA使用Specification动态构建多表查询.复杂查询及排序示例 JPA 使用 Specification 复杂查询和 Cr ...

  8. SpringBoot JPA(JpaRepository)动态查询 分页展示

    大家知道Hibernate可以很轻松的根据提供条件进行动态筛选查询,那个JPA怎么实现呢,其中最为简单的就是使用Specification实现JPA的动态查询,本人也是初步接触JPA,第一次使用JPA ...

  9. JpaRepository动态查询sql

    本文介绍JpaRepository动态查询sql 在使用前,需要导入 import javax.persistence.EntityManager; import javax.persistence. ...

  10. Spring data jpa 动态查询封装

    最近几天学习一下jpa,发现在动态查询方面支持不是很好,一个包含多种动态查询条件的列表需要写大量的代码,而我本身有强迫症,代码有洁癖,大量的重复的代码,自然不爽,于是就.......,废话少说,直接上 ...

最新文章

  1. 【Python】print 不换行输出
  2. Mac OS 怎么设置host
  3. 31、SAM文件中flag含义解释工具--转载
  4. 一、数据预处理——数据归一化 数据标准化
  5. Spring Boot笔记-JPA分页(后端分页)
  6. myeclipse背景设置
  7. python多线程下载_python3 多线程下载
  8. 数据结构专题(二):2.5在链表指定位置插入元素
  9. 利用百度Echarts.js生成雷达图
  10. IOS Animation-KeyPath值
  11. Adapter与AdapterView
  12. 刚体的转动惯量的c语言题目,刚体的转动惯量题.doc
  13. 针对高通BMS的研究 高通电量计
  14. 深度残差网络_深度残差收缩网络:借助注意力机制实现特征的软阈值化
  15. MySQL的索引失效问题
  16. 颜色代码:网页颜色代码大全及色彩搭配教程
  17. tomcat10 实例化servlet 500错误解决办法
  18. 6个自学python必看网站
  19. springboot 利用aop实现系统日志和操作日志记录
  20. caffe源码学习:softmaxWithLoss前向计算

热门文章

  1. 白光led 计算机模拟,大动态白光LED光辐射模拟器
  2. 数据结构学习之基数排序(含C++代码)
  3. Android P 禁用OTG U盘使用
  4. 刀刀漫画合集(共享PDF,RAR,UMD版本和语录)
  5. c++实验3-个人所得税计算器
  6. 手把手教你电机FOC控制【二】
  7. 全民一起VBA提高篇 第三十二回 Select 简化分枝结构,静态变量坐看沧海桑田
  8. 中国省,市,区 json数据
  9. layui开关按钮及代码实现
  10. 第4讲 组合逻辑电路实例:编码器、译码器、数据选择器、加法器、数值比较器、代码转换器——计算机逻辑基础