一、下载安装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版本号,重复一操作
选择Spring initiakizr,点击next即可初始化一个SpringBoot项目
设置项目名称为hello,继续next
这里选择Web-Spring Web,继续next
这里可以选择项目目录,然后finish
这样一个SpringBoot项目就创建成功了
三、第一个接口,请求返回hello world!
1、创建一个Controller类HelloController
2、在HelloController中实现返回hello world!字符串的接口
3、点击这个运行按钮,启动程序,注意服务启动的端口为8080
4、然后在游览器中输入http://localhost:8080/hello,即可看到如下效果
四、通过接口操作数据库之增删改查
上一步我们成功返回了一个我们写死的字符串hello world!,那么我们怎么通过接口来操作数据库呢。
1、首先我们要在自己电脑上安装一个MySQL,安装MySQL是一个很操蛋的过程,安装的方法有很多,但是可能遇到的问题也很多,慢慢享受。Mac上安装MySQL参考//www.greatytc.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文件
4、右键pom.xml,重新导入maven
5、新增配置文件application.yml,并配置数据库
6、新增数据模型类Hellomodel,记得增加构造函数和set、get方法
7、新建接口文件HelloRepository
并且继承JpaRepository类,传两个参数 Hellomodel, Integer
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中验证是否正确