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