首页 > 其他分享 >#yyds干货盘点 springboot和vue搭建前后端项目实现员工的增删改查

#yyds干货盘点 springboot和vue搭建前后端项目实现员工的增删改查

时间:2023-04-11 18:32:51浏览次数:43  
标签:yyds vue springboot page emp import com public Emp

前言

我是歌谣 今天继续带来前后端项目的开发 上次已经开发了部门管理,今天继续开发 员工管理

后端第一步empcontroller代码

package com.itheima.controller;

import com.itheima.pojo.Emp;
import com.itheima.pojo.PageBean;
import com.itheima.pojo.Result;
import com.itheima.service.EmpService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;

import java.time.LocalDate;
import java.util.List;

/**
 * 员工管理Controller
 */
@RestController
@Slf4j
@RequestMapping("/emps")
public class EmpController {
    @Autowired
    private EmpService empService;
    @GetMapping
    public Result page(@RequestParam(defaultValue = "1") Integer page,
                       @RequestParam(defaultValue = "10") Integer pageSize,
    String name, Short gender, @DateTimeFormat(pattern = "yyyy-mm-dd")LocalDate begin,
                       @DateTimeFormat(pattern = "yyyy-mm-dd")LocalDate end){
        log.info("查询分页");
        PageBean pageBean=empService.page(page,pageSize,name,gender,begin,end);
        return Result.success(pageBean);
    }
@DeleteMapping("/{ids}")
    public Result delete(@PathVariable List<Integer> ids){
    log.info("删除");
    empService.delete(ids);
    return Result.success();
    }
    @PostMapping
    public Result save(@RequestBody Emp emp){
        log.info("新增员工");
        empService.save(emp);
        return Result.success();
    }
    @GetMapping("/{id}")
    public  Result getById(@PathVariable Integer id){
        log.info("查询员工");
        Emp emp=empService.getById(id);
        return  Result.success(emp);
    }
    @PutMapping
    public Result update(@RequestBody Emp emp){
        log.info("修改员工");
        empService.update(emp);
        return Result.success();
    }
}

后端第二步 empservice层

package com.itheima.service;

import com.itheima.pojo.Emp;
import com.itheima.pojo.PageBean;
import org.springframework.stereotype.Service;

import java.time.LocalDate;
import java.util.List;

public interface EmpService {
    PageBean page(Integer page, Integer pageSize, String name, Short gender, LocalDate begin,LocalDate end);
    void delete(List<Integer> ids);
    void save(Emp emp);
    Emp getById(Integer id);
    void update(Emp emp);
    Emp login(Emp emp);
}

后端第三步empserviceImpl类

package com.itheima.service.impl;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration;
import com.itheima.mapper.EmpMapper;
import com.itheima.pojo.Emp;
import com.itheima.pojo.PageBean;
import com.itheima.service.EmpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

//@Service
//public class EmpServiceImpl implements EmpService {
//    @Autowired
//    private EmpMapper empMapper;
//    @Override
//    public PageBean page(Integer page, Integer pageSize) {
//        Long count= empMapper.count();
//        Integer start=(page-1)*pageSize;
//        empMapper.page(start,pageSize);
//        List<Emp> empList=empMapper.page(start,pageSize);
//        PageBean pageBean=new PageBean(count,empList);
//        return pageBean;
//    }
//}
@Service
public class EmpServiceImpl implements EmpService {
    @Autowired
    private EmpMapper empMapper;

    @Override
    public PageBean page(Integer page, Integer pageSize, String name, Short gender, LocalDate begin, LocalDate end) {
        PageHelper.startPage(page,pageSize);
        List<Emp> empList = empMapper.list(name,gender,begin,end);
        Page<Emp> p= (Page<Emp>) empList;

        PageBean pageBean=new PageBean(p.getTotal(),p.getResult());
        return pageBean;
    }
    @Override
    public void delete(List<Integer> ids){
        empMapper.delete(ids);
    }

    @Override
    public void save(Emp emp) {
        emp.setCreateTime(LocalDateTime.now());
        emp.setUpdateTime(LocalDateTime.now());
        empMapper.insert(emp);
    }

    @Override
    public Emp getById(Integer id) {
        return empMapper.getById(id);
    }

    @Override
    public void update(Emp emp) {
        emp.setUpdateTime(LocalDateTime.now());
        empMapper.update(emp);
    }

    @Override
    public Emp login(Emp emp) {
        return empMapper.getByUsernameAndPassword(emp);
    }
}

后端第四步empmapper

package com.itheima.mapper;

import com.itheima.pojo.Emp;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.time.LocalDate;
import java.util.List;

/**
 * 员工管理
 */
//@Mapper
//public interface EmpMapper {
//    @Select("select count(*) from emp")
//    public Long count();
//@Select("select * from emp limit #{start},#{pageSize}")
//    public List<Emp> page(Integer start, Integer pageSize);

//}
@Mapper
public interface EmpMapper {

   // @Select("select * from emp")
    public List<Emp> list(String name, Short gender, LocalDate begin, LocalDate end);

    void delete(List<Integer> ids);
@Insert("insert into emp(username,name,gender,image,job,entrydate,dept_id,create_time,update_time)"+
"values(#{username},#{name},#{gender},#{image},#{job},#{entrydate},#{deptId},#{createTime},#{updateTime})")

    void insert(Emp emp);
    @Select("select * from emp where id=#{id}")
    Emp getById(Integer id);

    void update(Emp emp);
    @Select("select * from emp where username=#{username} and password=#{password}"
            )
    Emp getByUsernameAndPassword(Emp emp);
}

实现结果

查询

#yyds干货盘点 springboot和vue搭建前后端项目实现员工的增删改查_java

新增

#yyds干货盘点 springboot和vue搭建前后端项目实现员工的增删改查_List_02

删除

#yyds干货盘点 springboot和vue搭建前后端项目实现员工的增删改查_ide_03

修改

#yyds干货盘点 springboot和vue搭建前后端项目实现员工的增删改查_java_04

总结

我是歌谣 放弃很容易 但是坚持一定很酷 一名研究java和前端的程序员 想加入前端巅峰人才交流群联系我

标签:yyds,vue,springboot,page,emp,import,com,public,Emp
From: https://blog.51cto.com/u_14476028/6183789

相关文章

  • #yyds干货盘点 前端小知识点扫盲笔记记录2
    前言大家好我是歌谣今天继续进行前端知识的一些总结想加入前端巅峰交流群私信我innerHTML和innerText的使用<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge">......
  • Vue动态创建组件实例并挂载到body
    方式一importVuefrom'vue'/***@paramComponent组件实例的选项对象*@paramprops组件实例中的prop*/exportfunctioncreate(Component,props){constcomp=new(Vue.extend(Component))({propsData:props}).$mount()document.body.appendChild(......
  • 一个 OpenTiny,Vue2 Vue3 都支持!
    大家好,我是Kagol,OpenTiny 开源社区运营,TinyVue 跨端、跨框架组件库核心贡献者,专注于前端组件库建设和开源社区运营。今天给大家介绍如何同时在Vue2和Vue3项目中使用 TinyVue。TinyVue是一套跨端、跨框架的企业级UI组件库,支持Vue2和Vue3,支持PC端和移动端。......
  • SpringBoot整合ElasticSearch8.x 踩坑记录
    背景jdk版本openjdk-17springboot版本2.6.11pom.xml<!--ElasticSearch提供的依赖--><dependency><groupId>co.elastic.clients</groupId><artifactId>elasticsearch-java</artifactId><version>8.6.2</version>......
  • vue3使用elmentui-plus中的图标
    按照官网这样直接引入使用,不知道为啥行不通:import{Document,MenuasIconMenu,Location,Setting,}from'@element-plus/icons-vue'使用时,需要<script>import{UserFilled}from'@element-plus/icons-vue'//使用的时候需要单独引入这个图标从......
  • vue项目中webpack编译glsl文件的配置
    1、 安装webpack-glsl-loader npminstallwebpack-glsl-loader2、修改vue.config.js配置,添加内容如下module.exports=defineConfig({configureWebpack:(config)=>{config.module.rules.push({test:/\.glsl$/,use:[......
  • vue3使用体验--用了之后再也不想用vue2
    0.个人推荐使用setup语法糖,看起来更加简洁。<scriptsetup>import{ref,reactive,onMounted}from'vue';constname=ref('李四');   //定义普通数据类型的响应式,获取/修改数据需要.value,在模板中不需要.value,可以直接使用onMounted(()=>{ //某些业务逻辑。 ......
  • 自定义SpringBoot Starter
    1.Starter加载原理Springboot通过SpringBootApplication注解启动项目,springboot启动的时候,会将项目中所有声明为bean对象的实例加载到IOC容器。除此之外也会将starter里的bean信息加载到ioc容器,从而做到0配置,开箱即用。1.1加载starter:Springboot项目启动时,Springboot通过@Spri......
  • Vue3 setup语法糖添加name属性
    1.安装插件vite-plugin-setup-extendnpmivite-plugin-setup-extend-D2.配置vite.config.tsimportvuefrom'@vitejs/plugin-vue'import{defineConfig}from'vite'//引入插件并使用importvueSetupExtendfrom'vite-plugin-vue-setup-extend�......
  • 【学习笔记】JS+VUE
    JSJS教程HTML定义了网页的内容CSS描述了网页的布局JavaScript控制了网页的行为简介1、什么是JS?JavaScript是一种轻量级的编程语言。JavaScript是可插入HTML页面的编程代码。JavaScript插入HTML页面后,可由所有的现代浏览器执行。2、JS有哪些作用?直接写入H......