前言:经过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实现的对数据库增删改查功能,下一篇实现分页功能