当前位置: 首页 > Web前端 > vue.js

Vue+SpringDataJPA+MySQL新增查询、修改、删除

时间:2023-04-01 10:37:22 vue.js

视频讲解:https://www.bilibili.com/video/BV16i4y1G7i2/项目概况:前后端分离,简单增查改删(CRUD)前端使用VUE后端使用Spring数据JPA数据库使用MySQLEmployeeController.javapackagecom.deepincoding.springdatajpamysqlcrud.controller;importcom.deepincoding.springdatajpamysqlcrud.entity.Employee;importcom.deepincoding.springdatajpamysqlcrud.model.BaseResponse;importcom.deepincoding.springdatajpamysqlcrud.service.EmployeeService;importlombok.extern.log;port4j.Log4jspringframework.beans.factory.annotation.Autowired;importorg.springframework.data.domain.Page;importorg.springframework.data.domain.Pageable;importorg.springframework.data.domain.Sort;导入org.springframework.data.web.PageableDefault;importorg.springframework.web.bind.annotation.*;importjava.util.Optional;@RestController@RequestMapping("/api/employee")@Log4j2publicclassEmployeeControllerextendsBaseController{@AutowiredprivateEmployeeServiceemployeeService;@PostMappingpublicBaseResponse<String>save(@RequestBodyEmployeeemployee){employeeService.save(employee);returnnewBaseResponse<>(SUCCESS,"保存成功");}@GetMapping("/{id}")publicBaseResponse>findById(@PathVariableLongid){Optionalemployee=employeeService.findById(id);returnnewBaseResponse<>(SUCCESS,"取得成功",employee);}@GetMappingpublicBaseResponse>findAll(@PageableDefault(sort={"id"},direction=Sort.Direction.DESC,size=3)Pageablepageable){log.info("pageable:{}",pageable.getPageNumber());Pageemployees=employeeService.findAll(pageable);returnnewBaseResponse<>(SUCCESS,"获得成功",employees);}@PutMappingpublicBaseResponseupdate(@RequestBodyEmployeeemployee){employeeService.save(employee);返回新的BaseResponse<>(成功,"修改成功");}@DeleteMapping("/{id}")publicBaseResponsedelete(@PathVariableLongid){employeeService.delete(id);returnnewBaseResponse<>(SUCCESS,"删除成功");}}CorsConfig.javapackagecom.deepincoding.springdatajpamysqlcrud.config;导入org.springframework.context.annotation.Configuration;导入org.springframework.web.servlet.config.annotation.CorsRegistry;导入org.springframework.web.servlet.config。annotation.WebMvcConfigurer;@ConfigurationpublicclassCorsConfigimplementsWebMvcConfigurer{/***跨域配置*@paramregistry*/@OverridepublicvoidaddCorsMappings(CorsRegistryregistry){registry.addMapping("/**").allowedOrigins("*").allowedMethods("*");}}Employee.javapackagecom.deepincoding.springdatajpamysqlcrud.entity;导入com.deepincoding.springdatajpamysqlcrud.enums.Gender;导入lombok.AllArgsConstructor;导入lombok.Data;导入lombok.NoArgsConstructor;importjavax.persistence.*;@Entity@Data@NoArgsConstructor@AllArgsConstructorpublicclassEmployee{@Id@GeneratedValue(strategy=GenerationType.AUTO)privatelongid;私有字符串名称;@Enumerated(EnumType.STRING)privateGender性别;私人整数年龄;私有字符串引入;}EmployeeServiceImpl.javapackagecom.deepincoding.springdatajpamysqlcrud.service;导入com.deepincoding.springdatajpamysqlcrud.entity.Employee;导入com.deepincoding.springdatajpamysqlcrud.repositories.EmployeeRep;导入org.springframework.beans.factory.annotation.Autowired;importorg.springframework.data.domain.Page;importorg.springframework.stereotype.Service;importorg.springframework.data.domain.Pageable;importjava.util.Optional;@ServicepublicclassEmployeeServiceImplimplementsEmployeeService{@AutowiredprivateEmployeeRep员工代表;@Overridepublicvoidsave(Employee雇员){employeeRep.save(员工);}@OverridepublicOptionalfindById(Longid){returnemployeeRep.findById(id);}@Overridepublicvoidupdate(Employeeemployee){employeeRep.save(employee);}@Overridepublicvoiddelete(Longid){employeeRep.deleteById(id);}@OverridepublicPagefindAll(Pageablepageable){returnemployeeRep.findAll(pageable);}}本文档使用mdnice排版