代码改变世界

SpringBoot 之 Dao层模拟数据库操作

2020-05-03 13:36  小伍2013  阅读(2386)  评论(0编辑  收藏  举报

单表操作:

# src/main/java/com/wu/dao/DepartmentDao .java

@Repository
public class DepartmentDao {
	private static Map<Integer, Department> departments = null;

	private static Integer initId = 5;

	static {
		departments = new HashMap<Integer, Department>();
		departments.put(1, new Department(1, "行政部"));
		departments.put(2, new Department(2, "财务部"));
		departments.put(3, new Department(3, "运营部"));
		departments.put(4, new Department(4, "开发部"));
	}

	public Collection<Department> index() {
		return departments.values();
	}

	public void store(Department department) {
		department.setId(initId);
		departments.put(initId, department);
		initId++;
	}

	public Department show(Integer id) {
		return departments.get(id);
	}

	public void destroy(Integer id) {
		departments.remove(id);
	}
}

关联表操作:

# src/main/java/com/wu/dao/EmployeeDao.java

@Repository
public class EmployeeDao {
	private static Map<Integer, Employee> employees = null;

	@Autowired
	private DepartmentDao departmentDao;

	static {
		employees = new HashMap<Integer, Employee>();
		employees.put(1, new Employee(1, "张三", 3));
		employees.put(2, new Employee(2, "李四", 1));
		employees.put(3, new Employee(3, "王五", 4));
		employees.put(4, new Employee(4, "赵六", 2));
	}

	private static Integer initId = 5;

	public Collection<Employee> index() {
		return employees.values();
	}

	public void store(Employee employee) {
		employee.setId(initId);
		employees.put(initId, employee);
		initId++;
	}

	public Employee show(Integer id) {
		Employee employee = employees.get(id);
		Integer departmentId = employee.getDepartmentId();
		Department department = departmentDao.getDepartment(departmentId);
		employee.setDepartment(department);
		return employee;
	}

	public void destroy(Integer id) {
		employees.remove(id);
	}
}