摘要:前言通過實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的增刪改查通過提供基于的減少了作為數(shù)據(jù)訪問方案的代碼量,僅僅需要編寫一個(gè)接口集成下內(nèi)部定義的接口即可完成簡(jiǎn)單的操作。下引入依賴下引入和的配置文件對(duì)數(shù)據(jù)庫連接和進(jìn)行配置編寫實(shí)體編寫一個(gè)類,屬性,,。
前言:通過SpringDataJPA實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的增刪改查
SpringDataJPA:通過提供基于JPA的Repository減少了JPA作為數(shù)據(jù)訪問方案的代碼量,僅僅需要編寫一個(gè)接口集成下SpringDataJPA內(nèi)部定義的接口即可完成簡(jiǎn)單的CRUD操作。
pom.xml下引入依賴
pom.xml下引入SpringDataJPA和mysql的dependency
org.springframework.boot spring-boot-starter-data-jpa mysql mysql-connector-java
配置application.yml文件
對(duì)數(shù)據(jù)庫連接和jpa進(jìn)行配置
datasource: url: jdbc:mysql://localhost:3306/test username: root password: root driverClassName: com.mysql.jdbc.Driver
jpa: hibernate: ddl-auto: update show-sql: true
編寫實(shí)體
編寫一個(gè)Book類,屬性:id,bookName,author。
運(yùn)行后數(shù)據(jù)庫會(huì)生成一個(gè)Book表
@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接口
編寫一個(gè)BookRepository接口繼承JpaRepository
BookRepository extends JpaRepository
public interface BookRepository extends JpaRepository{ }
編寫BookController定義路由實(shí)現(xiàn)對(duì)Book表的增刪改查
IOC控制反轉(zhuǎn)
@Autowired private BookRepository bookRepository;
查詢Book的列表
@GetMapping(value = "/books") public ListbookList(){ 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); }
總結(jié):這是利用SpringDataJPA實(shí)現(xiàn)的對(duì)數(shù)據(jù)庫增刪改查功能,下一篇實(shí)現(xiàn)分頁功能
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/68061.html
摘要:忽略該字段的映射省略創(chuàng)建數(shù)據(jù)訪問層接口,需要繼承,第一個(gè)泛型參數(shù)是實(shí)體對(duì)象的名稱,第二個(gè)是主鍵類型。 SpringBoot 是為了簡(jiǎn)化 Spring 應(yīng)用的創(chuàng)建、運(yùn)行、調(diào)試、部署等一系列問題而誕生的產(chǎn)物,自動(dòng)裝配的特性讓我們可以更好的關(guān)注業(yè)務(wù)本身而不是外部的XML配置,我們只需遵循規(guī)范,引入相關(guān)的依賴就可以輕易的搭建出一個(gè) WEB 工程 上一篇介紹了Spring JdbcTempl...
摘要:一入門在上次學(xué)的時(shí)候,那時(shí)候的教程就已經(jīng)涉及到了一點(diǎn)的知識(shí)了。入門只是中的一個(gè)子模塊是一套標(biāo)準(zhǔn)接口,而是的實(shí)現(xiàn)底層默認(rèn)實(shí)現(xiàn)是使用的首個(gè)接口就是,它是一個(gè)標(biāo)記接口。這也導(dǎo)致了我出現(xiàn)這個(gè)錯(cuò)誤的原因。 一、SpringData入門 在上次學(xué)SpringBoot的時(shí)候,那時(shí)候的教程就已經(jīng)涉及到了一點(diǎn)SpringData JPA的知識(shí)了。當(dāng)時(shí)還是第一次見,覺得也沒什么大不了,就是封裝了Hiber...
摘要:商品類型實(shí)體恒宇少年碼云商品基本信息實(shí)體恒宇少年碼云接下來我們繼續(xù)創(chuàng)建相關(guān)的。注解是用于標(biāo)注接口抽象類是被自動(dòng)映射的標(biāo)識(shí),只有存在該注解才會(huì)將內(nèi)部的接口方法自動(dòng)實(shí)現(xiàn)。 MapStruct是一種類型安全的bean映射類生成java注釋處理器。我們要做的就是定義一個(gè)映射器接口,聲明任何必需的映射方法。在編譯的過程中,MapStruct會(huì)生成此接口的實(shí)現(xiàn)。該實(shí)現(xiàn)使用純java方法調(diào)用的源和目...
摘要:本章目標(biāo)修改啟動(dòng)內(nèi)容構(gòu)建項(xiàng)目本章不涉及業(yè)務(wù)邏輯相關(guān)內(nèi)容,簡(jiǎn)單創(chuàng)建一個(gè)框架即可。的隱藏隱藏的方式提供了兩種,不過其中方式已經(jīng)被拋棄掉了,我們下面介紹下修改配置的方式。 Banner是SpringBoot框架一個(gè)特色的部分,其設(shè)計(jì)的目的無非就是一個(gè)框架的標(biāo)識(shí),其中包含了版本號(hào)、框架名稱等內(nèi)容,既然SpringBoot為我們提供了這個(gè)模塊,它肯定也是可以更換的這也是Spring開源框架的設(shè)計(jì)...
摘要:對(duì)象是開源框架的上下文對(duì)象實(shí)例,在項(xiàng)目運(yùn)行時(shí)自動(dòng)裝載內(nèi)的所有信息到內(nèi)存??偨Y(jié)本章內(nèi)容較少,主要講解了平臺(tái)下采用的方式完成實(shí)例的獲取,并通過實(shí)例完成對(duì)管理的實(shí)例手動(dòng)獲取。 ApplicationContext對(duì)象是Spring開源框架的上下文對(duì)象實(shí)例,在項(xiàng)目運(yùn)行時(shí)自動(dòng)裝載Handler內(nèi)的所有信息到內(nèi)存。傳統(tǒng)的獲取方式有很多種,不過隨著Spring版本的不斷迭代,官方也慢慢的不建議使用部...
閱讀 3940·2021-10-12 10:12
閱讀 2899·2021-09-10 11:18
閱讀 3684·2019-08-30 15:54
閱讀 2816·2019-08-30 15:53
閱讀 651·2019-08-30 13:54
閱讀 977·2019-08-30 13:21
閱讀 2270·2019-08-30 12:57
閱讀 1700·2019-08-30 11:10