Spring Data JPA
学无止路
积极向上,坚持不懈的奋斗!
展开
-
多表操作-多对多
多表操作-多对多1 案例:用户和角色(多对多关系)用户:每一个人。角色:每一个的信息。分析步骤:1.明确表关系。多对多关系。2.确定表关系(描述 外键|中间表)。中间间表。3.编写实体类,再实体类中描述表关系(包含关系)。用户:包含角色的集合。角色:包含用户的集合.4.配置映射关系。2 环境搭建1.打开IDEA工具如图所示:点击Create New Project。2.选择Maven工程和JDK的版本,点击Next,如图所示:3.填写项目名称和保存的地址,并点击FInish。原创 2020-10-21 09:39:14 · 432 阅读 · 0 评论 -
动态查询
动态查询1 动态查询的概述有时我们在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在Spring Data JPA中可以通过JpaSpecificationExecutor接口查询。相比JPQL,其优势是类型安全,更加的面向对象。JpaSpecificationExecutor接口的源码如下:import java.util.List;import org.springframework.data.domain.Page;import org.springfram原创 2020-10-21 09:21:45 · 1676 阅读 · 0 评论 -
JPA的基本操作
JPA的基本操作1 api对象jpa操作的操作步骤1.加载配置文件创建实体管理器工厂Persisitence:静态方法(根据持久化单元名称创建实体管理器工厂)。 createEntityMnagerFactory(持久化单元名称)作用:创建实体管理器工厂。2.根据实体管理器工厂,创建实体管理器EntityManagerFactory :获取EntityManager对象方法:createEntityManager 内部维护的很多的内容:内部维护了数据库信息。维护了缓存信息。维护了原创 2020-10-21 09:09:12 · 449 阅读 · 0 评论 -
JPA的入门案例
JPA的入门案例1 案例说明案例是客户的相关操作(增删改查)客户:就是一家公司创建客户表的代码如下:CREATE DATABASE jpa; -- 创建数据库USE jpa; -- 使用数据库/*创建客户表*/CREATE TABLE cst_customer ( cust_id BIGINT(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)', cust_name VARCHAR(32) NOT NULL COMMENT原创 2020-10-21 08:56:25 · 247 阅读 · 0 评论 -
springDataJpa的运行过程和原理剖析
springDataJpa的运行过程和原理剖析1 执行过程分析1.分析如图所示:1.通过JdkDynamicAopProxy的invoke方法创建了一个动态代理对象2.SimpleJpaRepository当中封装了JPA的操作(借助JPA的api完成数据库的CRUD)3.通过hibernate完成数据库操作(封装了jdbc)以测试findOne()方法为例,在findOne()方法之前打断点,并使用debug运行如图所示:如图所示,说明customerDao是一个动态代理类对象。2 源码分原创 2020-10-21 08:47:13 · 645 阅读 · 0 评论 -
Spring Data JPA 入门案例
Spring Data JPA 入门案例1.打开IDEA工具的界面如图所示,点击Create New Project。2.选择Maven工程和JDK的版本,并点击Next。如图所示:3.填写项目名称和保存的地址,点击Finish。如图所示:4.导入相应的依赖jar包的代码如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmln原创 2020-10-21 08:40:14 · 249 阅读 · 0 评论 -
多表操作-一对多
多表操作-一对多1 表关系一对一一对多:一的一方:主表。多的一方:从表。外键:需要再从表上新建一列作为外键,他的取值来源于主表的主键。多对多:中间表:中间表中最少应该由两个字段组成,这两个字段做为外键指向两张表的主键,又组成了联合主键。讲师对学员:一对多关系。实体类中的关系包含关系:可以通过实体类中的包含关系描述表关系。继承关系分析步骤1.明确表关系。2.确定表关系(描述 外键|中间表)。3.编写实体类,再实体类中描述表关系(包含关系)。4.配置映射关系。数据库中多表之间原创 2020-10-20 15:15:37 · 531 阅读 · 0 评论 -
JPQL查询
JPQL查询1 jpql的介绍sql:查询的是表和表中的字段。jpql:查询的是实体类和类中的属性。jpql和sql语句的语法相似。JPQL全称Java Persistence Query Language基于首次在EJB2.0中引入的EJB查询语言(EJB QL),Java持久化查询语言(JPQL)是一种可移植的查询语言,旨在以面向对象表达式语言的表达式,将SQL语法和简单查询语义绑定在一起•使用这种语言编写的查询是可移植的,可以被编译成所有主流数据库服务器上的SQL。其特征与原生SQL语句原创 2020-10-20 14:57:15 · 1239 阅读 · 0 评论 -
对象导航查询
对象导航查询1 对象导航查询介绍对象图导航检索方式是根据已经加载的对象,导航到他的关联对象。它利用类与类之间的关系来检索对象。例如:我们通过ID查询方式查出一个客户,可以调用Customer类中的getLinkMans()方法来获取该客户的所有联系人。对象导航查询的使用要求是:两个对象之间必须存在关联关系。查询一个对象的同时,通过此对象查询他的关联对象。案例:客户和联系人。1.打开IDEA工具界面如图所示,点击Create New Project。2.选择Maven工程和JDK的版本,点击Nex原创 2020-10-20 14:48:15 · 275 阅读 · 0 评论 -
JAP的引入
JAP的引入1 回顾jdbc操作完成保存用户如图所示详解:2 ORM概述ORM(Object-Relational Mapping) 表示对象关系映射。在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以直接操作数据库数据,就可以说这套程序实现了ORM对象关系映射。简单的说:ORM就是建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表的目的。主要目的:操作实体类就相当于操作数据库表建立两个映射关原创 2020-10-20 14:36:19 · 391 阅读 · 4 评论 -
spring data jpa查询
spring data jpa查询1 spring Data JPA查询调用接口方法查询(count,exists)编写测试统计查询测试代码如下:package com.txw.test;import com.txw.dao.CustomerDao;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import原创 2020-10-20 14:28:17 · 606 阅读 · 0 评论 -
Spring Data JPA 简介
Spring Data JPA 简介1 springDataJpa介绍Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套JPA应用框架,可使开发者用极简的代码即可实现对数据库的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data JPA 可以极大提高开发效率!Spring Data JPA 让我们解脱了DAO层的操作,基本上所有CRUD都可以依赖于它来实现,在实际的工作工程中,推荐使用Spring Dat原创 2020-10-20 14:06:03 · 715 阅读 · 0 评论