关于一个后台员工管理的新增功能(学习记录)

员工管理系统中的新增与分页查询功能实现

本文将介绍一个简单的员工管理系统的实现,重点关注新增员工和分页查询功能的代码实现及需求分析,基于spring-boot和mybatis-plus实现。

需求分析

在一个企业内部管理系统中,员工管理是一个非常重要的功能。为了保证系统的高效运行和数据的安全,我们需要实现以下两个功能:

  1. 新增员工:管理员可以通过系统新增员工,系统会自动为新员工设置初始密码,并记录创建时间、更新时间以及操作管理员的信息。
  2. 分页查询员工:系统需要支持分页查询员工信息,并且可以根据员工姓名进行模糊查询,以便管理员能够方便地查找和管理员工。
功能实现

以下是实现新增员工和分页查询功能的代码

// 新增员工
@PostMapping
public R<String> save(HttpServletRequest request, @RequestBody Employee employee) {
    // 设置初始密码123456,进行MD5加密
    employee.setPassword(DigestUtils.md5DigestAsHex("123456".getBytes()));
    Date date = new Date();
    employee.setCreateTime(date);
    employee.setUpdateTime(date);
    // 获取当前用户id
    Long employeeId = (Long) request.getSession().getAttribute("employee");
    employee.setCreateUser(employeeId);
    employee.setUpdateUser(employeeId);
    employeeService.save(employee);
    return R.success("新增员工成功");
}

// 分页查询员工
@GetMapping("/page")
public R<Page> page(int page, int pageSize, String name) {
    // 构造分页构造器
    Page pageInfo = new Page(page, pageSize);

    // 构造条件构造器
    LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper<>();
    queryWrapper.like(StringUtil.notNullNorEmpty(name), Employee::getName, name);
    queryWrapper.orderByDesc(Employee::getCreateTime);

    employeeService.page(pageInfo, queryWrapper);
    return R.success(pageInfo);
}

 

新增员工功能

在新增员工功能中,主要步骤包括:

  1. 设置初始密码:每个新增的员工初始密码为123456(此处可自行设置),并使用MD5算法进行加密,以保证密码的安全性。
  2. 设置创建和更新时间:通过Date对象获取当前时间,设置员工的创建时间和更新时间(此处要保证和数据库中的类型一致)。
  3. 获取当前用户ID:通过HttpServletRequest对象获取当前登录用户的ID,并设置为新员工的创建人和更新人。
  4. 保存员工信息:调用employeeService.save(employee)方法,将员工信息保存到数据库中。
分页查询员工功能

在使用分页构造器时还需进行相应的配置。

以下是分页配置的代码

package org.example.config;

import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MybatisPlusConfig {
    //配置mybatisplus分页插件
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return interceptor;
    }
}

在分页查询员工功能中,主要步骤包括:

  1. 构造分页构造器:通过传入的pagepageSize参数,创建一个Page对象,用于分页查询。
  2. 构造条件构造器:创建一个LambdaQueryWrapper对象,用于构造查询条件。
    • 使用like方法实现姓名的模糊查询,前提是name参数不为空。
    • 使用orderByDesc方法按照创建时间降序排序。
  3. 执行分页查询:调用employeeService.page(pageInfo, queryWrapper)方法,执行分页查询并返回结果。

通过上述代码实现,我们可以完成员工管理系统中新增员工和分页查询的功能。这个实现不仅满足了基本的功能需求,还考虑了密码安全性、操作人记录等细节,使系统更加完善。 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值