成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

SpringBoot實(shí)戰(zhàn)SpringDataJPA

winterdawn / 3091人閱讀

摘要:前言通過實(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 List 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);
    }

總結(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

相關(guān)文章

  • 一起來學(xué)SpringBoot | 第六篇:整合SpringDataJpa

    摘要:忽略該字段的映射省略創(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...

    Dionysus_go 評(píng)論0 收藏0
  • SpringDataJPA入門就這么簡(jiǎn)單

    摘要:一入門在上次學(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...

    MasonEast 評(píng)論0 收藏0
  • 第三十章:SpringBoot使用MapStruct自動(dòng)映射DTO

    摘要:商品類型實(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)用的源和目...

    weakish 評(píng)論0 收藏0
  • 第三十三章:修改SpringBoot啟動(dòng)Banner

    摘要:本章目標(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ì)...

    firim 評(píng)論0 收藏0
  • 第三十二章:如何獲取SpringBoot項(xiàng)目的applicationContext對(duì)象

    摘要:對(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版本的不斷迭代,官方也慢慢的不建議使用部...

    zhangke3016 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<