Spring Boot 数据库操作2

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

猜你喜欢

转载自blog.csdn.net/qq_40979622/article/details/82660796