vue mysql添加 删除_Vue+Spring Data JPA+MySQL 增查改删

视频讲解:

工程概述:

前后端分离,进行简单增查改删(CRUD)

前端使用VUE

后端使用Spring Data JPA

数据库使用MySQL

a3c35c4b35701852bba1f247746fc99e.png

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 save(@RequestBody Employee employee){

employeeService.save(employee);

return new BaseResponse<>(SUCCESS,"保存成功");

}

@GetMapping("/{id}")

public BaseResponse> findById(@PathVariable Long id){

Optional employee = employeeService.findById(id);

return new BaseResponse<>(SUCCESS,"获取成功",employee);

}

@GetMapping

public BaseResponse> findAll(@PageableDefault(sort = {"id"},direction = Sort.Direction.DESC ,size = 3) Pageable pageable){

log.info("pageable:{}",pageable.getPageNumber());

Page employees = employeeService.findAll(pageable);

return new BaseResponse<>(SUCCESS,"获取成功",employees);

}

@PutMapping

public BaseResponse update(@RequestBody Employee employee){

employeeService.save(employee);

return new BaseResponse<>(SUCCESS,"修改成功");

}

@DeleteMapping("/{id}")

public BaseResponse 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 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 findAll(Pageable pageable) {

return employeeRep.findAll(pageable);

}

}

本文使用 mdnice 排版

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值