关于spring-data-jpa的简单介绍 - Go语言中文社区

关于spring-data-jpa的简单介绍


最近在做项目,所以时间比较紧凑,闲暇之余,将最近用到的spring-data-jpa技术整理一下,和大家分享.

这次鄙人就不来国际惯例了,直接介绍.

一:什么是JPA:

JPA是一套规范,不是产品.

JPA是 sun公司提出的java持久化规范,它的出现是为了简化现有的持久化操作,并整合orm技术.

查询语句:JPQL 面向对象而非面向过程的查询语言,避免程序和SQL语句紧密耦合.

二:spring-data-JPA

它是在JPA规范下提供了Repository层的实现.


  CrudRepository:提供了简单的crud操作的方法.

  PagingAndSortingRepository 增加了分页和排序的方法

SimpleJpaRepository:提供了方法的实现.

我们可以直接继承接口,而不用写dao层的实现类去完成持久化操作.

这是一个合同的持久化接口,直接继承JpaRepository就能实现基本的CRUD操作,利用的就是JpaRepository的实现类SimpleJpaRepository.

SimpleJpaRepository里面实现了许多方法,我下面列举几个出来.

通过jpa创建query查询我学了两种方式

一是:解析方法名:

从网上抠图

注意:返回的是对象不是object数组,只有利用原生sql语句查询的时候返回的是object数组

第二种是注解的方式  

@Query

@Modifying

@Param

如果使用update语句,必须用modifying配置在query上面

创建query的策略:

有三种: 'create' :只通过解析方法名的方式创建

'use-declared-query' 这种我没去学习,所以不了解,以后在说

'create-if-not-found'  默认的, 如果没有@query,就用@namequery,如果还没有,就用解析方法名的方式

可以在spring的配置文件中 jpa-repository中设置策略.


Spring-data-Jpa的criteria查询

需要自定义的接口继承JpaSpecificationExecutor接口

我认为这里用到的是一个策略模式-->就是findAll(spec)方法和它相关的方法

自己去实现接口里面需要的算法--在我们这里就是自己去添加查询条件

可以添加多个查询条件 用 cb.and cb.or 

下图有我写的一个方法,里面利用到了criteria查询



好了就简单介绍这里了,详细的API和内容可以参考大神们的作品.

今晚巴萨战皇马,巴萨必胜!!!!

下次我会介绍数据库三大范式和反三范式 

还有之前没有完成的内容会慢慢补全  忙啊.....









版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_39632990/article/details/78879184
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-30 10:41:41
  • 阅读 ( 966 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢