zoukankan      html  css  js  c++  java
  • [Spring Boot] Adding JPA and Spring Data JPA

    JPA is just like a helper class for providing data for Controller, has method like 'findOne', 'findAll', 'saveAndFlush', 'delete'.

    in repository/ShipwreckRespository.java:

    package hello.respository;
    
    import org.springframework.data.jpa.repository.JpaRepository;
    import hello.model.Shipwreck;
    
    public class ShipwreckRespository extends JpaRepository<Shipwreck, Long>{
    
    }

    in model/Shipwreck.java:

    package hello.model;
    
    import javax.persistence.Entity;
    import javax.persistence.GenerationType;
    import javax.persistence.GeneratedValue;
    
    @Entity
    public class Shipwreck {
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        Long id;
        String name;
        String description;
        String condition;
        Integer depth;
        Double latitude;
        Double longitude;
        Integer yearDiscovered;

    controller: 

    @RestController
    @RequestMapping("api/v1/")
    public class ShipController {
    
        @Autowired
        private ShipwreckRespository shipwreckRespository;
    
        @RequestMapping(value="shipwrecks", method= RequestMethod.GET)
        public List <Shipwreck>list() {
            return shipwreckRespository.findAll();
        }
    
        @RequestMapping(value = "shipwrecks", method = RequestMethod.POST)
        public Shipwreck create(@RequestBody Shipwreck shipwreck) {
            return shipwreckRespository.saveAndFlush(shipwreck);
        }
    
        @RequestMapping(value="shipwrecks/{id}", method = RequestMethod.GET)
        public Shipwreck get(@PathVariable long id) {
            return shipwreckRespository.findOne(id);
        }
    
        @RequestMapping(value="shipwrecks/{id}", method = RequestMethod.PUT)
        public Shipwreck update(@PathVariable long id, @RequestBody Shipwreck shipwreck) {
            Shipwreck shipwreckExisting = shipwreckRespository.findOne(id);
            BeanUtil.copyProperties(shipwreck, shipwreckExisting);
            return shipwreckRespository.saveAndFlush(shipwreckExisting);
        }
    
        @RequestMapping(value="shipwrecks/{id}", method = RequestMethod.DELETE)
        public Shipwreck delete(@PathVariable long id) {
    
            Shipwreck shipwreckExisting = shipwreckRespository.findOne(id);
            shipwreckRespository.delete(shipwreckExisting);
            return shipwreckExisting;
        }
    }
  • 相关阅读:
    unnitest简单场景应用
    接口基础之request
    docker常用命令
    管理之心理学
    管理团队挑战和提升
    如何留下核心成员
    管理之面试技巧
    复杂接口请求怎样写http请求
    gitlab使用(一)
    不使用AutoLayout快速兼容适配iPhone6/6 Plus
  • 原文地址:https://www.cnblogs.com/Answer1215/p/10279329.html
Copyright © 2011-2022 走看看