springdata jpa快速构建RESTful
Posted 结构化思维wz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springdata jpa快速构建RESTful相关的知识,希望对你有一定的参考价值。
springdata jpa +springdata rest
只需要添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
写一个实体类+dao
package com.example.jpademo.model;
import javax.persistence.*;
/**
* @author: 王泽
* 用@entity标注的类必须要有主键@id
*/
@Entity(name = "t_book") //标记为实体类并且在数据库中创建的表叫t_book
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) //自动生成主键
private long id;
@Column(name = "bookname") //可以配置一系列数据库配置
private String name;
private String author;
@Override
public String toString() {
return "Book{" +
"id=" + id +
", name='" + name + '\\'' +
", author='" + author + '\\'' +
'}';
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}
public interface BookDao extends JpaRepository<Book, Long> {}
使用postman进行测试:
默认接口就是类名+s ====》books
如果想换,在dao接口上定义注解@RepositoryRestResource(path=“自定义名”)
get查询操作
-
查询所有
http://localhost:8080/books
-
查询byID
http://localhost:8080/books/6
-
分页查询
默认的什么都不写的分页情况:
"page": { "size": 20, "totalElements": 11, "totalPages": 1, "number": 0 }
自定义
http://localhost:8080/books?page=0&size=3
-
排序
http://localhost:8080/books?page=0&size=3&sort=id,desc
post请求添加数据
添加数据:
put修改数据
delete删除
http://localhost:8080/books/13
自定义的方法接口
满足命名规范的:
//根据author查询book
List<Book> getBookByAuthorEquals(@Param("author") String author);
用search查看自定义的接口都有哪些
点击相应方法查询
dao中常用注解
- @RestResource
path指的是路径中的名字,就是search中搜索出来的href中的路径
rel是查出来的方法名,不影响使用
@RestResource(path ="byname")
//根据author查询book
List<Book> getBookByAuthorEquals(@Param("author") String author);
-
屏蔽默认方法
只需要自己重写方法 并且加入@RestResource(exported=false)
-
@RepositoryRestResource
自定义查询的数据名,books 可以改,book也可以改
properties中的配置
以上是关于springdata jpa快速构建RESTful的主要内容,如果未能解决你的问题,请参考以下文章