在学习springcloudalibab过程中 通过写项目来贯穿性学习时用到的Jpa
通过查询CSDN进行查漏补缺
Spring Data JPA
Spring Data是Spring提供的操作数据的框架,Spring Data JPA是Spring Data的一个模块,通过Spring data 基于jpa标准操作数据的模块。
Spring Data的核心能力,就是基于JPA操作数据,并且可以简化操作持久层的代码。
它使用一个叫作Repository的接口类为基础,它被定义为访问底层数据模型的超级接口。而对于某种具体的数据访问操作,则在其子接口中定义。
Spring Data可以让我们只定义接口,只要遵循spring data的规范,就无需写实现类,不用写sql语句直接查询数据。
Repository
提供了findBy + 属性 方法
CrudRepository
继承了Repository 提供了对数据的增删改查
PagingAndSortRepository:
继承了CrudRepository 提供了对数据的分页和排序,缺点是只能对所有的数据进行分页或者排序,不能做条件判断
JpaRepository: 继承了PagingAndSortRepository
开发中经常使用的接口,主要继承了PagingAndSortRepository,对返回值类型做了适配
JpaSpecificationExecutor
提供多条件查询
JpaRepository继承PagingAndSortingRepository,添加了一组JPA规范相关的方法。对继承父接口中方法的返回值进行了适配,因为在父类接口中通常都返回迭代器,需要我们自己进行强制类型转化。而在JpaRepository中,直接返回了List
简单来说
JPA 是 Spring Boot 官方推荐的数据库访问组件。
JPA repository是什么?
spring中操作数据库的一个库
jpa repository常见用法
@Table(name = “数据库里对应的表名”)
用java类定义对应的数据库表
@Table(name = "fh_user")
public class UserDO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name="user_name", length = 32)
private String userName;
@Column(name="nike_name", length = 32)
private String nikeName;
@Column(name="sex")
private Integer sex;
@UpdateTimestamp
@Column(name = "update_time")
private Date updateTime;
// 创建时间注解
@CreationTimestamp
@Column(name = "create_time")
private Date createTime;
}
RPC RPC就是 register provider consumer