首先我們需要使用IDEA建立一個javaweb項目,步驟圖示如下
- 選擇File菜單中的Project子菜單,彈出如下圖所示視窗
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TPR10MRRkT51kaNBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zM4QTO1IDM5EjMycDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
- 在右側菜單中選擇Spring Initial,如上圖所示選擇JDK的版本,此處為JDK1.8。彈出如下如所示的視窗
如上圖所示輸入包名、選擇Maven建構項目,選擇java語言,項目打包方式,選擇Java JDK的版本,輸入項目名稱。點選Next彈出如下視窗。
選擇右側web菜單,在右側框中選擇Web複選框。此步驟用于自動導入所需的基本Jar包。然後一路next便可以建立一個SpringBoot的Web項目。
實戰之前先了解下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檔案删除。在檔案中做如下設定
在檔案中設定項目啟動的端口号
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格式。運作項目便可以通路,擷取清單。在浏覽器輸入如下位址,即可傳回資料中的所有資料。
同理在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);
}
然後按下圖浏覽器中方式輸入
下面編寫添加的方法
@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工具來測試接口。
執行後傳回如下結果。
同理編寫删除和修改方法
修改方法:
@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截圖如下
删除方法
@DeleteMapping(value="/girls/{id}")
public void girlDelte(@PathVariable("id") Integer id){
girls2.deleteById(id);
}
通路方式,如下POSTMAN截圖