
Spring Data JPA
文章平均质量分 65
Spring Data JPA学习笔记
怀梦
不在能知,乃在能行
展开
-
13、对象导航查询
对象导航查询1、对象导航查询 查询一个对象的同时,通过此对象查询他的关联对象 案例:客户和联系人案例2、测试案例測試的模板@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = "classpath:applicationContext.xml")public class ObjectQueryTest { @Autowired private CustomerDao cu原创 2021-01-23 21:28:17 · 213 阅读 · 4 评论 -
12、多表查询--多对多
多表查询1、多对多操作案例:用户和角色(多对多) 用户: 角色:分析步骤 1.明确表关系 多对多 2.确定表关系(描述 外键 | 中间表) 中间表 3.编写实体类,在实体类中描述表关系(包含关系) 用户:包含角色的集合 角色:包含用户的集合 4.配置映射关系2、搭建环境2.1、导入坐标<properties> <spring.version>4.2.4.RELEA原创 2021-01-23 20:41:43 · 242 阅读 · 0 评论 -
11、多表操作--一对多
多表操作1、表关系回顾 表关系 一对一 一对多: 一的一方:主表多的一方:从表 外键:需要再从表上新建一列作为外键,他的取值来源于主表的主键 多对多: 中间表:中间表中最少应该由两个字段组成,这两个字段作为外键指向两张表的主键,又组合成了联合主键 讲师对学员:一对多关系 实体类中的关系: 包含关系:可以通过实体类中的包含关系描述表关系 继承关系: 分析步骤 1.明确表关系 2.确定表关系(描述原创 2021-01-23 17:43:27 · 368 阅读 · 0 评论 -
10、动态查询
动态查询1、Specifications动态查询方法列表:public interface JpaSpecificationExecutor<T> { T findOne(Specification<T> spec); //查询单个对象 List<T> findAll(Specification<T> spec); //查询列表 //查询全部,分页 //pageable:分页参数 //返回值:分页pageBean(pag原创 2021-01-23 11:19:29 · 431 阅读 · 0 评论 -
9、spring data jpa 复杂查询
1spring data jpaspring data jpa 复杂查询1、利用接口进行查询@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations="classpath:applicationContext.xml")public class JpaTest {}1.1、查询总数量:/** 测试统计查询:查询客户的总数量* count:统计总条数* */@Testpublic voi原创 2021-01-11 22:53:58 · 327 阅读 · 0 评论 -
8、spring data jpa执行原理分析
sprnig data jpa1、原理分析图接口不能帮助我们实现功能,真正发挥作用的是接口的实现类,在程序执行的过程中,自动的帮助我们动态的生成接口的实现类对象如何动态的生成实现类对象? 动态代理(生成基于接口的实现类对象)2、源码分析代理子类的实现过程2.1、断点执行到方法上时,我们可以发现注入的customerDao对象,本质上是通过JdkDynamicAopProxy生成的一个代理对象2.2、代理对象中方法调用的分析当程序执行的时候,会通过JdkDynamicAopProxy原创 2021-01-10 23:03:39 · 347 阅读 · 0 评论 -
7、Spring Data Jpa快速入门案例
Spring Data Jpa1、快速入门案例:客户的基本CRUD1.搭建环境 创建工程导入坐标 配置spring的配置文件 编写实体类(Customer),使用jpa注解配置映射关系2.编写一个符合springDataJpa的dao层接口 * 只需要编写dao层接口,不需要编写到dao层接口的实现类 * dao层接口规范 1.需要继承两个接口(JpaRepository,JpaSpecificationExecutor) 2.需要提供响原创 2021-01-10 21:54:40 · 181 阅读 · 0 评论 -
6、Spring Data Jpa介绍
Spring Data Jpa1、概述Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据库的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data JPA 可以极大提高开发效率!Spring Data JPA 让我们解脱了DAO层的操作,基本上所有CRUD都可以依赖于它来实现,在实际的工作工程中,推荐使用Spring Data JPA + ORM(如:hibe原创 2021-01-09 15:51:11 · 87 阅读 · 0 评论 -
5、复杂查询
Spring Data Jpa1、JPQL介绍JPQL全称Java Persistence Query Language基于首次在EJB2.0中引入的EJB查询语言(EJB QL),Java持久化查询语言(JPQL)是一种可移植的查询语言,旨在以面向对象表达式语言的表达式,将SQL语法和简单查询语义绑定在一起·使用这种语言编写的查询是可移植的,可以被编译成所有主流数据库服务器上的SQL。其特征与原生SQL语句类似,并且完全面向对象,通过类名和属性访问,而不是表名和表的属性。2、jpql查询介绍原创 2021-01-09 11:44:57 · 208 阅读 · 0 评论 -
4、基本CRUD案例
Spring Data JPA1、jpa操作的操作步骤 1.加载配置文件创建实体管理器工厂 Persisitence:静态方法(根据持久化单元名称创建实体管理器工厂) createEntityManagerFactory(持久化单元名称) 作用:创建实体类管理器工厂 2.根据实体管理器工厂,创建实体管理器 EntityManagerFactory:获取EntityManager对象 方法:createEntityManager * 内部维护的很多的内容原创 2021-01-09 10:21:09 · 239 阅读 · 0 评论 -
3、主键的生成策略
Spring Data Jpa1、JPA中的主键生成策略@Id:声明主键的配置@GeneratedValue:配置主键的生成策略strategy主要使用这两种GenerationType.IDENTITY:自增,mysql* 底层数据库必须支持自动增长(底层数据库支持的自动增长方式,对id自增)GenerationType.SEQUENCE:序列,oracle* 底层数据库必须支持序列剩下作为了解GenerationType.TABLE: jpa提供的一种机制,通过一张数据库表的形式帮原创 2021-01-08 17:05:38 · 465 阅读 · 0 评论 -
2、入门案例(完成对客户表的添加操作)
spring data jpa入门案例(完成对客户表的添加操作)1、建立数据表 /*创建客户表*/ 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 COMMEN原创 2021-01-07 22:45:57 · 585 阅读 · 0 评论 -
1、了解spring data jpa
spring data jpa1、回顾jdbc发现问题:1.操作繁琐2.占位符复制麻烦解决办法:1.jdbc封装到工具类2.建立实体类和表的关系3.建立实体类中属性和表中字段的关系2、orm思想主要目的:操作实体类就相当于操作数据库表建立两个映射关系: 实体类和表的映射关系 实体类中属性和表中字段的映射关系不再重点关注:sql语句目前市场上实现ORM思想的框架:mybatis,hibernate,jpa3、Hibernate简单介绍Hibernate是一个开放源代码的原创 2021-01-07 21:45:47 · 121 阅读 · 0 评论