前言:經過SpringDataJPA
實現對數據庫的增刪改查
SpringDataJPA:經過提供基於JPA的Repository減小了JPA做爲數據訪問方案的代碼量,僅僅須要編寫一個接口集成下SpringDataJPA內部定義的接口便可完成簡單的CRUD操做。java
pom.xml
下引入依賴mysql
pom.xml下引入SpringDataJPA和mysql的dependencyspring
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
配置application.yml
文件sql
對數據庫鏈接和jpa進行配置數據庫
datasource: url: jdbc:mysql://localhost:3306/test username: root password: root driverClassName: com.mysql.jdbc.Driver
jpa: hibernate: ddl-auto: update show-sql: true
編寫實體app
編寫一個Book類,屬性:id,bookName,author。
運行後數據庫會生成一個Book表spring-boot
@Entity public class Book { @Id @GeneratedValue private Integer id; private String bookName; private String author; public Book() { } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getBookName() { return bookName; } public void setBookName(String bookName) { this.bookName = bookName; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } }
編寫BookRepository
接口this
編寫一個BookRepository接口繼承JpaRepositoryurl
BookRepository extends JpaRepository
public interface BookRepository extends JpaRepository<Book,Integer>{ }
編寫BookController
定義路由實現對Book表的增刪改查hibernate
IOC控制反轉
@Autowired private BookRepository bookRepository;
查詢
Book的列表
@GetMapping(value = "/books") public List<Book> bookList(){ return bookRepository.findAll(); }
添加
一本書
@PostMapping(value = "books") public Book bookAdd(@RequestParam("author") String author, @RequestParam("bookName") String bookName){ Book book = new Book(); book.setAuthor(author); book.setBookName(bookName); return bookRepository.save(book); }
刪除
一本書
@DeleteMapping(value = "/books/{id}") public void bookDelete(@PathVariable("id") Integer id){ bookRepository.delete(id);
更新
一本書
@PutMapping(value = "/books/{id}") public Book bookUpdate(@PathVariable("id") Integer id, @RequestParam("author") String author, @RequestParam("bookName") String bookName){ Book book = new Book(); book.setId(id); book.setAuthor(author); book.setBookName(bookName); return bookRepository.save(book); }
總結:這是利用SpringDataJPA實現的對數據庫增刪改查功能,下一篇實現分頁功能