一、下載安裝JDK
太簡單不想說
二、安裝編譯器
Java主流IDE有eplice和IDEA,我用的是IDEA,安裝方法太簡單,不想說
三、第一個SpringBoot程序hello
1、終端輸入以下指令,查看安裝的Java版本
wjc@wangjunhaodeMBP ~ % java -version
java version "14.0.1" 2020-04-14
可以看到我的Java版本為最新的14.0.1,如果沒有看到自己的Java版本號,重復一操作
image.png
選擇Spring initiakizr,點擊next即可初始化一個SpringBoot項目
image.png
設置項目名稱為hello,繼續next
image.png
這里選擇Web-Spring Web,繼續next
image.png
這里可以選擇項目目錄,然后finish
image.png
這樣一個SpringBoot項目就創建成功了
image.png
三、第一個接口,請求返回hello world!
1、創建一個Controller類HelloController
image.png
2、在HelloController中實現返回hello world!字符串的接口
image.png
3、點擊這個運行按鈕,啟動程序,注意服務啟動的端口為8080
image.png
4、然后在游覽器中輸入http://localhost:8080/hello,即可看到如下效果
image.png
四、通過接口操作數據庫之增刪改查
上一步我們成功返回了一個我們寫死的字符串hello world!,那么我們怎么通過接口來操作數據庫呢。
1、首先我們要在自己電腦上安裝一個MySQL,安裝MySQL是一個很操蛋的過程,安裝的方法有很多,但是可能遇到的問題也很多,慢慢享受。Mac上安裝MySQL參考http://www.lxweimin.com/p/bded35de93eb
2、創建一個庫hello
可以用一些可視化工具創建如:sequel pro等,也可以用指令。
wjc@wangjunhaodeMBP ~ % mysql.server start //啟動mysql
wjc@wangjunhaodeMBP ~ % mysql -u root -p //進入mysql
mysql> show databases; //查看當前用戶下所有庫
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
| wjc |
+--------------------+
6 rows in set (0.01 sec)
mysql> create database hello; //創建庫hello
Query OK, 1 row affected (0.00 sec)
mysql> show databases; //發現hello庫已經創建成功
+--------------------+
| Database |
+--------------------+
| information_schema |
| hello |
| mysql |
| performance_schema |
| sys |
| test |
| wjc |
+--------------------+
7 rows in set (0.01 sec)
3、修改pom.xml文件
image.png
4、右鍵pom.xml,重新導入maven
image.png
5、新增配置文件application.yml,并配置數據庫
image.png
6、新增數據模型類Hellomodel,記得增加構造函數和set、get方法
image.png
7、新建接口文件HelloRepository
image.png
并且繼承JpaRepository類,傳兩個參數 Hellomodel, Integer
image.png
8、然后就可以在HelloController里編寫增刪改查的接口了,HelloController代碼如下:
package com.example.hello;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Optional;
@RestController //表示方法的返回值直接以指定的格式寫入Http response body中,而不是解析為跳轉路徑。
public class HelloController {
@Autowired
private HelloRepository helloRepository; //實例化接口
//新增數據
@PostMapping("/hello")
public Hellomodel create(@RequestParam("title") String title,
@RequestParam("message") String message){
Hellomodel hellomodel = new Hellomodel();
hellomodel.setTitle(title);
hellomodel.setMessage(message);
return helloRepository.save(hellomodel);
}
//獲取數據列表
@GetMapping("/hello")
public List<Hellomodel> list(){
return helloRepository.findAll();
}
//通過ID查詢item
@GetMapping("/hello/{id}")
public Hellomodel findById(@PathVariable("id") Integer id){
return helloRepository.findById(id).orElse(null);
}
//通過ID更新
@PutMapping("/hello/{id}")
public Hellomodel update(@PathVariable("id") Integer id,
@RequestParam("title") String title){
Optional<Hellomodel> optional = helloRepository.findById(id);
if(optional.isPresent()){
Hellomodel hellomodel = optional.get();
hellomodel.setTitle(title);
return helloRepository.save(hellomodel);
}
return null;
}
}
9、然后在postman中驗證是否正確image.png