110_员工管理系统:准备工作,模拟数据


添加lombok依赖

<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.22</version>
    <scope>provided</scope>
</dependency>

添加实体类

package com.qing.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 部门
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Department {
    private Integer id; // 部门id
    private String name; // 部门名称
}

package com.qing.pojo;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 员工
 */
@Data
@NoArgsConstructor
public class Employee {
    private Integer id; // 员工id
    private String name; // 员工姓名
    private String email; // 邮箱
    private Integer gender; // 性别:1男,2女
    private Date birth; // 出生日期

    private Department department; // 部门

    public Employee(Integer id, String name, String email, Integer gender, Department department) {
        this.id = id;
        this.name = name;
        this.email = email;
        this.gender = gender;
        this.department = department;
        this.birth = new Date();
    }
}

添加Dao:模拟数据

package com.qing.dao;

import com.qing.pojo.Department;
import org.springframework.stereotype.Repository;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

/**
 * 部门Dao
 */
@Repository
public class DepartmentDao {
    // 模拟数据库中的数据
    private static Map<Integer, Department> map = null;
    static {
        map = new HashMap<>();
        map.put(101, new Department(101, "苍龙"));
        map.put(101, new Department(102, "白虎"));
        map.put(101, new Department(103, "朱雀"));
        map.put(101, new Department(104, "玄武"));
        map.put(101, new Department(105, "麒麟"));
    }

    /**
     * 获取所有部门
     * @return
     */
    public Collection<Department> list() {
        return map.values();
    }

    /**
     * 根据id获取部门
     * @param id
     * @return
     */
    public Department getDepartment(Integer id) {
        return map.get(id);
    }

}

package com.qing.dao;

import com.qing.pojo.Department;
import com.qing.pojo.Employee;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

/**
 * 员工Dao
 */
@Repository
public class EmployeeDao {

    @Autowired
    private DepartmentDao departmentDao;

    // 模拟数据库中的数据
    private static Map<Integer, Employee> map = null;
    static {
        map = new HashMap<>();
        map.put(1001, new Employee(1001,"甲","1001@qq.com",1,new Department(101, "苍龙")));
        map.put(1002, new Employee(1002,"乙","1002@qq.com",1,new Department(102, "白虎")));
        map.put(1003, new Employee(1003,"丙","1003@qq.com",2,new Department(103, "朱雀")));
        map.put(1004, new Employee(1004,"丁","1004@qq.com",2,new Department(104, "玄武")));
        map.put(1005, new Employee(1005,"戊","1005@qq.com",1,new Department(105, "麒麟")));
    }

    // 主键自增
    private static Integer initId = 1006;

    /**
     * 新增员工
     * @param employee
     */
    public void save(Employee employee) {
        if (employee.getId() == null) {
            employee.setId(initId++);
        }
        employee.setDepartment(departmentDao.getDepartment(employee.getDepartment().getId()));
        map.put(employee.getId(), employee);
    }

    /**
     * 获取所有员工
     * @return
     */
    public Collection<Employee> list() {
        return map.values();
    }

    /**
     * 根据id获取员工
     * @param id
     * @return
     */
    public Employee getEmployee(Integer id) {
        return map.get(id);
    }

    /**
     * 删除员工
     * @param id
     */
    public void delete(Integer id) {
        map.remove(id);
    }
}

posted @ 2022-02-09 16:48  清风(学习-踏实)  阅读(40)  评论(0)    收藏  举报