首先我们需要使用IDEA新建一个javaweb项目,步骤图示如下
如上图所示输入包名、选择Maven构建项目,选择java语言,项目打包方式,选择Java JDK的版本,输入项目名称。点击Next弹出如下窗口。
选择右侧web菜单,在右侧框中选择Web复选框。此步骤用于自动导入所需的基本Jar包。然后一路next便可以新建一个SpringBoot的Web项目。
实战之前先了解下Spring中的相关注解,方便后续的开发
SpringBoot相关注解 |
注解的作用 |
@Entity
|
@Entity说明这个class是实体类,并且使用默认的orm规则 |
@GeneratedValue |
JPA通用策略生成器 |
@Controller |
处理HTTP请求 |
@RestContoller |
Spring4以后的注解,相当于@Controller+@ResponseBody配合使用 |
@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 {
// 自定义通过年龄来查询接口
public List 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 girlList() {
return girls2.findAll();
}
}
这是通过get方式提交信息。返回数据默认为Json格式。运行项目便可以访问,获取列表。在浏览器输入如下地址,即可返回数据中的所有数据。
同理在Controller中添加一个按年龄查询的方法,首先要在DAO层接口中自定义一个方法。
// 自定义通过年龄来查询接口
public List findByAge(Integer id);
controller编写一个按年龄查询的方法
@GetMapping(value="/girls/age/{age}")
public List 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截图