JPA CrudRepository、PagingAndSortingRepository和JpaRepository的使用

JPA 注解CrudRepository、PagingAndSortingRepository和JpaRepository

  1. CrudRepository用来做增删改查操作
    JPA CrudRepository、PagingAndSortingRepository和JpaRepository的使用_第1张图片
    User是实体类,Integer是实体类中id的类型
    比如我有一张表:
    JPA CrudRepository、PagingAndSortingRepository和JpaRepository的使用_第2张图片
    实体类如下:
    JPA CrudRepository、PagingAndSortingRepository和JpaRepository的使用_第3张图片
    @Data注解是一个可以代替get/set方法的注解,不想用的话可以正常写get/set方法跳过此步骤
    使用这个注解可以省去get/set方法的步骤,使用依赖

            org.projectlombok
            lombok
        

其次是下载lombok插件:
JPA CrudRepository、PagingAndSortingRepository和JpaRepository的使用_第4张图片
JPA CrudRepository、PagingAndSortingRepository和JpaRepository的使用_第5张图片
输入lombok之后会出现lombok的install按钮点击现在,提示重启idea,点击确定即可

@Table注解关联表nname属性写上表名即可
@Entity指出这个类为实体类

以上是实体类的注解

属性的注解如下:
@Id声明此属性是主键
@Column(name = “id”)当实体的属性与其映射的数据库表的列不同名时需要使用@Column 标注说明
@GeneratedValue(strategy = GenerationType.IDENTITY)在本类中为主键的自增(添加时如果不想写id,可以设置为自增)

注解详细的使用https://www.cnblogs.com/a8457013/p/7753575.html

实体类定义完毕就开一进行增删改查操作了
定义一个借口继承CrudRepository
JPA CrudRepository、PagingAndSortingRepository和JpaRepository的使用_第6张图片
User为实体类名,Integer为id类型

继承之后,再写一个类注入此接口
在这里插入图片描述

就可以通过此接口的增删改查方法进行操作

全查方法findall:
JPA CrudRepository、PagingAndSortingRepository和JpaRepository的使用_第7张图片
返回类型是Iterable类型 可以用foreach循环输出

在这里插入图片描述


添加方法save:
JPA CrudRepository、PagingAndSortingRepository和JpaRepository的使用_第8张图片
传入参数直接添加


根据id删除方法:
JPA CrudRepository、PagingAndSortingRepository和JpaRepository的使用_第9张图片
传入id即可


根据id查找:
JPA CrudRepository、PagingAndSortingRepository和JpaRepository的使用_第10张图片
testRespotoreCurd.findById(id)之后有一个.get()方法作用是作用是转换成User对象
因为不用的话返回的是
在这里插入图片描述
所以在最后添加一个.get()方法即可


修改和添加是同一个方法,声明一个对象,把想修改的数据添加上,不想修改的数据保持不变即可
比如:
在这里插入图片描述
修改id为1的数据
声明User对象 设置id为1
把对象传参给save方法
JPA CrudRepository、PagingAndSortingRepository和JpaRepository的使用_第11张图片
成功
在这里插入图片描述
以上是使用CrudRepository接口做增删改查的操作

  1. PagingAndSortingRepository
    当我们需要用到分页查询的时候,我们定义的接口需要继承PagingAndSortingRepository接口来实现分页
    该接口提供了分页与排序功能
    首先定义接口,继承PagingAndSortingRepository
    JPA CrudRepository、PagingAndSortingRepository和JpaRepository的使用_第12张图片
    声明完之后,定义一个类注入此接口
    在这里插入图片描述
    就可以使用分页和排序的方法了
    JPA CrudRepository、PagingAndSortingRepository和JpaRepository的使用_第13张图片
    PagingAndSortingRepository详细使用:https://blog.csdn.net/sinat_35821285/article/details/79782171

  2. JpaRepositor
    可以用JpaRepositor的 @Query做自定义方法
    JPA CrudRepository、PagingAndSortingRepository和JpaRepository的使用_第14张图片
    注入此接口
    在这里插入图片描述
    调用接口的方法即可
    JPA CrudRepository、PagingAndSortingRepository和JpaRepository的使用_第15张图片

有关CrudRepository、PagingAndSortingRepository和JpaRepository更详细的使用:https://blog.csdn.net/fly910905/article/details/78557110

你可能感兴趣的:(spring,cloud,spring,boot)