公司准备搭建一个通用框架,以后项目就用统一一套框架了

以前只是听过jpa,但是没有实际用过

今天就来学习下一些简单的知识

什么是JPA

全称Java Persistence API,可以通过注解或者XML描述【对象-关系表】之间的映射关系,并将实体对象持久化到数据库中。

这个jpa只是一个规范。类似于定义一个接口,实现类还是得调用orm(如hibernate等)

jpa的作用

JPA的出现主要是为了简化持久层开发以及整合ORM技术,结束Hibernate、TopLink、JDO等ORM框架各自为营的局面。JPA是在吸收现有ORM框架的基础上发展而来,易于使用,伸缩性强

jpa的特点

  • ORM映射元数据: 支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系
  • API: 操作实体对象来执行CRUD操作
  • 查询语言: 通过面向对象而非面向数据库的查询语言(JPQL)查询数据,避免程序的SQL语句紧密耦合

spring data jpa 是对jpa的封装

Spring Data Jpa则是在JPA之上添加另一层抽象(Repository层的实现),极大地简化持久层开发及ORM框架切换的成本。

这个才是我项目中用到的

底层还是用的是hibernate

因为框架用的springboot,再加上以前有人整合了一套 spring data jpa

所以就准备学习下

spring data jpa 大概学习的一个流程

一、 创建SpringDataJPA项目

1 导入依赖

2 配置数据源信息

3 编写Dao

4 user

5 编写测试代码

二、 Spring Data JPA 的接口继承结构

三、 Spring Data JPA 的运行原理

四、 Repository 接口

1 方法名称命名规则查询

2 基于@Query 注解的查询

2.1通过 JPQL 语句查询

2.2通过 SQL 语句查询

3 通过@Query 注解完成数据更新

五、 CrudRepository 接口

六、 PagingAndSortingRepository 接口

1 分页处理

2 排序的处理

七、 JpaRepository 接口

八、 JpaSpecificationExecutor 接口

1 单条件查询

2 多条件查询

2.1给定查询条件方式一

2.2 给定查询条件方式二

3 分页

4 排序

5 分页与排序

九、 用户自定义Repository接口 十、 关联映射操作

1 一对一的关联关系

2 一对多的关联关系

3 多对多的关联关系

内容太多了,这里就简单描述下大家知道是这些就行

主要还是要怎么用才是关键

spring data jpa 怎么用

第一种写法: findBy(关键字)+属性名称(属性名称的首字母大写)+查询条件(首字母大写)

这个只要定义个接口,后面spring data jpa已经帮你实现封装了

第二种写法基于@Query 注解的查询(JPQL)

上图直接跟hibernate的hql类似

第三种写法基于@Query 注解的查询(SQL)

sql 没啥好说的吧。。

第四种写法基于@Query 注解的更新、

正常就这几个就够了,分页的等实际用到更多的再整理下,先这样

简单描述下jpa,hibernate,spring data jpa关系

jpa 是规范
hibernate实现了这个规范
spring data jpa对hibernate进行了封装

springdatajpa命名规则_简单了解下spring data jpa相关推荐

  1. Spring ORM+Hibernate?Out!换 Spring Data JPA 吧!

    2019独角兽企业重金招聘Python工程师标准>>> 转载请注明出处:http://blog.csdn.net/anxpp/article/details/51415698,谢谢! ...

  2. Spring Boot中使用Spring Data JPA示例

    JPA是Java Persistence API的简称,是sun公司早期推出的Java持久层规范,目前实现JPA规范的主流框架有Hibernate.OpenJPA等.Hibernate框架是当前较为流 ...

  3. Spring Data JPA 五分钟快速入门和实践

    Spring Data JPA(类似于Java Web 中的 DAO) 操作声明持久层的接口(Repository) 三个核心接口: CrudRepository PagingAndSortingRe ...

  4. 五分钟快速入门 Spring Data JPA

    Spring Data JPA(类似于Java Web 中的 DAO) 操作声明持久层的接口(Repository) 三个核心接口: CrudRepository PagingAndSortingRe ...

  5. Springboot 系列(十)使用 Spring data jpa 访问数据库

    前言 Springboot data jpa 和 Spring jdbc 同属于 Spring开源组织,在 Spring jdbc 之后又开发了持久层框架,很明显 Spring data jpa 相对 ...

  6. springdatajpa命名规则_Spring Boot 之Spring data JPA简介

    PA的全称是Java Persistence API (JPA),他是一个存储API的标准,而Spring data JPA就是对JPA的一种实现,可以让我们方便的对数据进行存取.按照约定好的方法命名 ...

  7. Spring Data JPA使用必备(二):Spring Data JPA方法命名规则实现SQL自动生成

    Spring data JPA是一个好东西,但是对于很多习惯于写SQL,直接怼数据库的人来说,这个真的用不习惯,还被一致认为是一个不易于程序员发展的技术.因为JPA提供了标准的封装,在操作数据库的时候 ...

  8. Spring Data JPA简单学习

    从一个简单的 JPA 示例开始 本文主要讲述 Spring Data JPA,但是为了不至于给 JPA 和 Spring 的初学者造成较大的学习曲线,我们首先从 JPA 开始,简单介绍一个 JPA 示 ...

  9. Spring Data JPA 从入门到精通~Naming命名策略详解及其实践

    Naming 命名策略详解及其实践 用 JPA 离不开 @Entity 实体,我都知道实体里面有字段映射,而字段映射的方法有两种: 显式命名:在映射配置时,设置的数据库表名.列名等,就是进行显式命名, ...

最新文章

  1. Android 按压效果的工具类
  2. vue的自定义组件如何使用prop传值?
  3. elk 的报错和优化
  4. 光流 | 高精度变分光流、LK-HS多项式展开的帧间估计、局部全局光流(论文翻译)及光流场与光流算法研究
  5. Nginx安装及配置简介
  6. 创建一个framework
  7. 转-httpd 2.4.4 + mysql-5.5.28 + php-5.4.13编译安装过程
  8. Linux Ubuntu系统下Java开发环境搭建
  9. VMware打卡虚拟机提示“此虚拟机可能已被复制或移动”
  10. django-反转路径时带上参数-适用于路径中通过命名分组的形式来捕捉参数的情景
  11. ios 取出数组中前两个元素_看图学NumPy:掌握n维数组基础知识点,看这一篇就够了...
  12. 阿里钉钉向1000万企业组织免费开放在家办公系统
  13. Mybatis日志实现
  14. GRE 一个月突击攻略
  15. 频谱分析仪二次开发|频谱分析仪程控软件NS-Analyzer
  16. Windows server 2008 R2和Windows server 2003系统有什么区别?开服用什么系统的更好?
  17. linux ctex缺少字体,Linux下xetex找不到字体
  18. VTN:视频Transformer网络
  19. Mac苹果电脑怎么创建加密文件夹
  20. Java网络编程基础--Netty预备知识

热门文章

  1. django写项目的详细步骤
  2. 逐行阅读redux源码(二)combineReducers
  3. angular1配合gulp和bower使用
  4. Citrix XenServer 关键配置文件
  5. Centos6 安装NTP 4.2.8 服务器
  6. 网络信息安全之防火墙技术(一)
  7. 用mysqldump远程备份mysql数据库
  8. [更新中]Lucene.net,中文分词技术 ICTCLAS研究
  9. 面试必过之消息中间件RabbitMQ面试总结大全!
  10. JSP装状态管理 session cookie