天天看點

SpringBoot實戰之增删改查

首先我們需要使用IDEA建立一個javaweb項目,步驟圖示如下

  1. 選擇File菜單中的Project子菜單,彈出如下圖所示視窗
SpringBoot實戰之增删改查
  1. 在右側菜單中選擇Spring Initial,如上圖所示選擇JDK的版本,此處為JDK1.8。彈出如下如所示的視窗
SpringBoot實戰之增删改查

如上圖所示輸入包名、選擇Maven建構項目,選擇java語言,項目打包方式,選擇Java JDK的版本,輸入項目名稱。點選Next彈出如下視窗。

SpringBoot實戰之增删改查

選擇右側web菜單,在右側框中選擇Web複選框。此步驟用于自動導入所需的基本Jar包。然後一路next便可以建立一個SpringBoot的Web項目。

SpringBoot實戰之增删改查

實戰之前先了解下Spring中的相關注解,友善後續的開發

SpringBoot相關注解 注解的作用
@Entity @Entity說明這個class是實體類,并且使用預設的orm規則
@GeneratedValue JPA通用政策生成器
@Controller 處理HTTP請求
@RestContoller Spring4以後的注解,相當于@[email protected]配合使用
@RequestMapping 配置URL映射
@PathVariable 擷取URL中的資料
@RequestParam 擷取請求參數的值
@GetMapping 注解組合

在項目的\src\main\resources目錄下建一個名為application.yml的檔案。将由原的application檔案删除。在檔案中做如下設定

SpringBoot實戰之增删改查

在檔案中設定項目啟動的端口号

server:

     port: 8081
           

設定項目連接配接的資料庫連接配接資訊

spring:

  datasource:

    driver-class-name: com.mysql.jdbc.Driver

    url: jdbc:mysql://localhost:3306/test

    username: root

    password: liuhong987
           

設定JPA無SQL語句操作方式

jpa:

  hibernate:

    ddl-auto: update

  show-sql: true
           

在navicat中建立一個資料庫名為test。

建立一個java實體類Girl

package com.itast.girl;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

@Entity

public class Girl {

    @Id

    @GeneratedValue

    private  Integer id;

    private String cpuSize;

    private Integer age;

    public Integer getId() {

        return id;
    }

    public void setId(Integer id) {

        this.id = id;
    }
    public String getCpuSize() {

        return cpuSize;
    }
    public void setCpuSize(String cpuSize) {

        this.cpuSize = cpuSize;

    }
   public Integer getAge() {

        return age;
    }
    public void setAge(Integer age) {

        this.age = age;
    }

    public Girl() {

    }

}

           

建立一個DAO層抽象與封裝

package com.itast.girl;

import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;

public  interface GirlRepository extends JpaRepository<Girl,Integer> {

 // 自定義通過年齡來查詢接口

    public List<Girl> findByAge(Integer id);

}
           

建立一個Controller控制層編寫增删改查方法。

1、建立一個查詢所有的方法。

package com.itast.girl;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.cache.annotation.CachePut;

import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController

public class GirlController {

    @Autowired

    private GirlRepository girls2;

    @Autowired

    private GirlService girlService;

    @GetMapping(value = "/girls")

    public List<Girl> girlList() {

        return girls2.findAll();

    }
}
           

這是通過get方式送出資訊。傳回資料預設為Json格式。運作項目便可以通路,擷取清單。在浏覽器輸入如下位址,即可傳回資料中的所有資料。

SpringBoot實戰之增删改查

同理在Controller中添加一個按年齡查詢的方法,首先要在DAO層接口中自定義一個方法。

// 自定義通過年齡來查詢接口

public List<Girl> findByAge(Integer id);
           

controller編寫一個按年齡查詢的方法

@GetMapping(value="/girls/age/{age}")
    public List<Girl> girlListByAge(@PathVariable("age")  Integer age){
        return girls2.findByAge(age);
    }
           

然後按下圖浏覽器中方式輸入

SpringBoot實戰之增删改查

下面編寫添加的方法

@PostMapping(value="/girlsadd")

public Girl  girlAdd(@RequestParam("cpuSize") String cpuSize

,@RequestParam("age") Integer age){

  Girl girl=new Girl();

  girl.setAge(age);

  girl.setCpuSize(cpuSize);

  return   girls2.save(girl);

}
           

這裡我們要使用POSTMAN工具來測試接口。

SpringBoot實戰之增删改查

執行後傳回如下結果。

同理編寫删除和修改方法

修改方法:

    @PutMapping(value="/girls/{id}")

    public Girl girlUpdate(@PathVariable("id") Integer id ,@RequestParam("cpuSize") String cpuSize

            ,@RequestParam("age") Integer age){

            Girl girl=new Girl();

            girl.setId(id);

            girl.setAge(age);

            girl.setCpuSize(cpuSize);

            return   girls2.save(girl);
}
           

通路方式,在POSTMAN截圖如下

SpringBoot實戰之增删改查

删除方法

@DeleteMapping(value="/girls/{id}")

public void  girlDelte(@PathVariable("id") Integer id){

      girls2.deleteById(id);

 }
           

通路方式,如下POSTMAN截圖

SpringBoot實戰之增删改查

繼續閱讀