1
get /girls 获取女生列表
post /girls 创建一个女生
get /girls/id 通过id查询一个女生
put /girls/id 通过id更新一个女生
delete /girls/id 通过id删除一个女生
相关代码:
package com.imooc; import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import sun.awt.SunHints; import java.util.List; @RestController public class GirlController { @Autowired private GirlRepository girlRepository; //查询所有女生列表 @GetMapping(value = "/girls") public List<Girl> girlList(){ return girlRepository.findAll(); } //添加一个女生 @PostMapping(value = "/girls") public Girl girlAdd(@RequestParam("cupSize") String cupSize, @RequestParam("age") Integer age){ Girl girl=new Girl(); girl.setCupSize(cupSize); girl.setAge(age); return girlRepository.save(girl); } //查询一个女生 @GetMapping(value = "/girls/{id}") public Girl girlFindOne(@PathVariable("id") Integer id){ return girlRepository.findById(id).get(); } //更新 @PutMapping(value = "/girls/{id}") public Girl girlUpdate(@PathVariable("id") Integer id, @RequestParam("cupSize") String cupSize, @RequestParam("age") Integer age){ Girl girl=new Girl(); girl.setId(id); girl.setCupSize(cupSize); girl.setAge(age); return girlRepository.save(girl); } //删除 @DeleteMapping(value = "/girls/{id}") public void girlDelete(@PathVariable("id") Integer id){ girlRepository.deleteById(id); } //通过年龄查询 @GetMapping(value = "/girls/age/{age}") public List<Girl> girlListByAge(@PathVariable("age")Integer age){ return girlRepository.findByAge(age); } }
首先要创建一个girlRepository 继承 JpaRepository 需要填写泛型<对应表的pojo,表主键类型 >,
package com.imooc; import org.omg.CORBA.INTERNAL; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; public interface GirlRepository extends JpaRepository<Girl, Integer> { public List<Girl> findByAge(Integer age); }
@Autowired
private GirlRepository girlRepository; 他是系统自动生成的对象,
findAll() 方法可以查询表内全部数据。
findOne() 可以根据id查询一条对象
findByAge() 可以自定义查询函数命名必须是驼峰式。
save() 可以插入一条新数据,如果存入的对象主键是存在的那么就变成更新相应主键的对象了
delete() 可以删除某个主键的数据
postman测试put方法时参数不能用form-data,要使用x-www-form-urlencoded