关于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和内容可以参考大神们的作品.

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

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

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









  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值