zoukankan      html  css  js  c++  java
  • Vue+Spring Data JPA+MySQL 增查改删

    视频讲解:

    https://www.bilibili.com/video/BV16i4y1G7i2/

    需要完成以下步骤:

    1. 前后端分离,进行简单增查改删(CRUD)
    2. 前端使用VUE
    3. 后端使用Spring Data JPA
    4. 数据库使用MySQL

    #EmployeeController.java

    package com.deepincoding.springdatajpamysqlcrud.controller;
    
    import com.deepincoding.springdatajpamysqlcrud.entity.Employee;
    import com.deepincoding.springdatajpamysqlcrud.model.BaseResponse;
    import com.deepincoding.springdatajpamysqlcrud.service.EmployeeService;
    import lombok.extern.log4j.Log4j2;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.data.domain.Page;
    import org.springframework.data.domain.Pageable;
    import org.springframework.data.domain.Sort;
    import org.springframework.data.web.PageableDefault;
    import org.springframework.web.bind.annotation.*;
    
    import java.util.Optional;
    
    @RestController
    @RequestMapping("/api/employee")
    @Log4j2
    public class EmployeeController extends BaseController {
    
        @Autowired
        private EmployeeService employeeService;
    
        @PostMapping
        public BaseResponse<String> save(@RequestBody Employee employee){
              employeeService.save(employee);
              return new BaseResponse<>(SUCCESS,"保存成功");
        }
    
        @GetMapping("/{id}")
        public BaseResponse<Optional<Employee>> findById(@PathVariable Long id){
            Optional<Employee> employee = employeeService.findById(id);
            return new BaseResponse<>(SUCCESS,"获取成功",employee);
        }
    
        @GetMapping
        public BaseResponse<Page<Employee>> findAll(@PageableDefault(sort = {"id"},direction = Sort.Direction.DESC ,size = 3) Pageable pageable){
            log.info("pageable:{}",pageable.getPageNumber());
            Page<Employee> employees = employeeService.findAll(pageable);
            return new BaseResponse<>(SUCCESS,"获取成功",employees);
        }
    
        @PutMapping
        public BaseResponse<String> update(@RequestBody Employee employee){
            employeeService.save(employee);
            return new BaseResponse<>(SUCCESS,"修改成功");
        }
    
        @DeleteMapping("/{id}")
        public BaseResponse<String> delete(@PathVariable Long id){
            employeeService.delete(id);
            return new BaseResponse<>(SUCCESS,"删除成功");
        }
    
    }
    
    
    

    #CorsConfig.java

    package com.deepincoding.springdatajpamysqlcrud.config;
    
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.CorsRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    
    @Configuration
    public class CorsConfig implements WebMvcConfigurer {
        /**
         * 跨域配置
         * @param registry
         */
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**")
                    .allowedOrigins("*")
                    .allowedMethods("*");
        }
    }
    
    

    #Employee.java

    package com.deepincoding.springdatajpamysqlcrud.entity;
    
    import com.deepincoding.springdatajpamysqlcrud.enums.Gender;
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    
    import javax.persistence.*;
    
    @Entity
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class Employee {
        @Id
        @GeneratedValue(strategy= GenerationType.AUTO)
        private long id;
        private String name;
        @Enumerated(EnumType.STRING)
        private Gender gender;
        private Integer age;
        private String introduce;
    
    }
    
    

    #EmployeeServiceImpl.java

    package com.deepincoding.springdatajpamysqlcrud.service;
    
    import com.deepincoding.springdatajpamysqlcrud.entity.Employee;
    import com.deepincoding.springdatajpamysqlcrud.repositories.EmployeeRep;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.data.domain.Page;
    import org.springframework.stereotype.Service;
    import org.springframework.data.domain.Pageable;
    
    import java.util.Optional;
    
    
    @Service
    public class EmployeeServiceImpl implements  EmployeeService{
    
        @Autowired
        private EmployeeRep employeeRep;
    
        @Override
        public void save(Employee employee) {
            employeeRep.save(employee);
        }
    
        @Override
        public Optional<Employee> findById(Long id) {
            return employeeRep.findById(id);
        }
    
        @Override
        public void update(Employee employee) {
            employeeRep.save(employee);
        }
    
        @Override
        public void delete(Long id) { employeeRep.deleteById(id); }
    
        @Override
        public Page<Employee> findAll(Pageable pageable) {
            return employeeRep.findAll(pageable);
        }
    }
    
    

     

  • 相关阅读:
    待办
    安卓微信浏览器修改的代码总是不生效
    微信浏览器内核2
    微信浏览器内核
    随记
    三次握手最后一个ack没有收到怎么办?
    判断偶数:
    利用kubeadm工具安装Kubernetes1.15版本
    kubernetes安装Helm
    最大子列和(附加子列初始元素和末尾元素)
  • 原文地址:https://www.cnblogs.com/JavaWeiBianCheng/p/13232423.html
Copyright © 2011-2022 走看看