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;
        }
    }
  • 相关阅读:
    Android:TabHost导航栏
    java:StringUtil工具类
    Android进阶篇MediaPlayer
    Android:图片滚轮
    Android:EditText焦点触发布局隐藏以及显示
    Android:Spinner的使用
    ASP.NET编程模型的理解
    ASP.NET页面事件(页面生命周期)
    根据用户喜欢的爱好选择不同风格CSS(ViewState)
    ASP.NET的页面指令
  • 原文地址:https://www.cnblogs.com/Answer1215/p/10279329.html
Copyright © 2011-2022 走看看