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;
        }
    }
  • 相关阅读:
    工作经常使用的SQL整理,实战篇(二)
    工作经常使用的SQL整理,实战篇(一)
    socket编程实例
    C# Socket编程笔记
    SQL Server中的事务与锁
    存储过程学习笔记(SQL数据库
    SQL Server 查询性能优化——创建索引原则(二)
    SQL Server 查询性能优化——创建索引原则(一)(转载)
    PSR-4——新鲜出炉的PHP规范
    PHPUNIT 单元测试
  • 原文地址:https://www.cnblogs.com/Answer1215/p/10279329.html
Copyright © 2011-2022 走看看