什么是spring data rest ?
Spring Data Rest设计的目的是消除curd的模板代码,减少程序员的刻板的重复劳动,尽管拥有强大的功能和精妙的设计,但它作为Spring Data系列产品,终究不能完全代替传统的SpringMVC,其特点也如Spring Data JPA之与Spring Data JDBC等低封装度的产品,高度封装了许多细节,但在用法上有它自己的一套规则。
链接:https://www.jianshu.com/p/6ad5931d6ac4
spring data rest 官方文档地址:https://www.springcloud.cc/spring-data-rest-zhcn.html
JPA基本操作
由于我们项目中 spring data rest 是基于jpa操作数据库,可以通过此链接了解一下基本的jpa操作
https://blog.csdn.net/wujiaqi0921/article/details/78789087
应用
1.创建数据库表
2.创建实体
根据idea 关联数据库,生成对应的java实体,按照此链接流程生成jpa映射实体文件
https://blog.csdn.net/mononoke111/article/details/91924002
生成完后添加实体类继承BaseEntity.java
@GenericGenerator(name = “jpa-uuid”, strategy = “uuid”)
@GeneratedValue(generator = “jpa-uuid”)
字符串 生成主键
3.创建DAO
根据实体建立对应的Dao,所有Dao继承基础的BaseDao,且所有的Dao需要有@RepositoryRestResource(collectionResourceRel = “class”, path = “class”),例如
4.查看项目是否成功
上述步骤完成后可以通过 http://localhost:8080/browser/index.html#/ 查看对应的dao是否成功
单表操作
单表根据字段查询允许多字段约束,
单表增删改查操作
GET http://localhost:8080/user{?page,size,sort} 分页查询
GET http://localhost:8080/user/1 查询id为1的用户
GET http://localhost:8080/user/search/findByName?name=xxx 查询name为xxx的用户
POST http://localhost:8080/user 新增用户
PUT http://localhost:8080/user/1 更新id为1的用户
DELETE http://localhost:8080/user/1 删除id为1的用户
多字段约束分页排序查询
例如请求 http://localhost:8080/user/search/nameLike?name=%a%&page=1&size=3&sort=time,desc
逻辑删除
如果需要逻辑删除则可以重写deleteById
多表操作
如果有碰到某个列表的其中一列,需要由其他表id转换到name的时候
一对多 OneToMany 项目demo
一对一 OneToOne 项目demo
多对多 ManyToMany 有中间关系表的表间关系 项目demo
复杂操作
当以上操作无法满足你的业务的时候,就写Controller层,
@ResponseBody 这个注解是必须的,有了他才能返回数据