添加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);
}
}