整合SpringMVC框架+Mybatis框架开发人力资源管理系统(六)

业务逻辑组件HrmService接口的实现

业务逻辑组件的实现需要依赖于DAO组件,在HrmService接口中针对需要操作的六个实体(User、Employee、Job、Dept、Notice、Document)设计了不一样的业务方法(CRUD),每个方法又会调用DAO组件中的一个或多个相关方法。通过将业务逻辑组件与DAO组件分开进行设计编写,无疑会使系统各组件之间的耦合性降低,为加强组件内部之间内聚性。HrmService接口代码如下:

package org.fkit.hrm.service;

import java.util.List;

import org.fkit.hrm.domain.Dept;
import org.fkit.hrm.domain.Document;
import org.fkit.hrm.domain.Employee;
import org.fkit.hrm.domain.Job;
import org.fkit.hrm.domain.Notice;
import org.fkit.hrm.domain.User;
import org.fkit.hrm.util.tag.PageModel;

public interface HrmService {
    //根据用户名与密码实现用户登录
	User login(String loginName,String password);
	//根据用户id查询用户
	User selectUserById(Integer id);
	//分页查询
	List<User> selectUser(User user,PageModel pageModel);
	//根据id删除用户
	void deleteUser(Integer id);
	//修改用户
	void updateUser(User user);
	//添加用户
	void insertUser(User user);
	//根据用户名称查询用户
    User selectUserByUserName(String userName);
	
	//获取所有员工
	List<Employee> selectEmployee(Employee empoyee,PageModel PageModel);
	//根据id删除员工
	void deleteEmployee(Integer id);
	//添加员工
	void insertEmployee(Employee employee);
	//修改员工
	void updateEmployee(Employee employee);
	//根据id查询员工
	Employee selectEmployeeById(Integer id);
	
	//分页获取所有部门
	List<Dept> selectDept(Dept dept,PageModel pageModel);
	//获取所有部门
	List<Dept> selectAll();
	//根据id查询部门
	Dept selectDeptById(Integer id);
	//根据id删除部门
	void deleteDept(Integer id);
	//添加部门
	void insertDept(Dept dept);
	//修改部门
	void updateDept(Dept dept);
	//根据部门名称获取部门
	Dept selectDeptByDeptName(String deptName);
	
	//分页获取所有职位
	List<Job> selectJob(Job job,PageModel pageModel);
	//获取所有岗位
	List<Job> selectAllJob();
	//根据id查询职位
	Job selectJobById(Integer id);
	//根据id删除职位
	void deleteJob(Integer id);
	//添加职位
	void insertJob(Job job);
	//修改职位
	void updateJob(Job job);
	//根据职位名称获取职位
	Job selectJobByJobName(String jobName);
	
	//分页获取所有公告
	List<Notice> selectNotice(Notice notice,PageModel pageModel);
	//根据id查询公告
	Notice selectNoticeById(Integer id);
	//根据id删除公告
	void deleteNotice(Integer id);
	//添加公告
	void insertNotice(Notice notice);
	//修改公告
	void updateNotice(Notice notice);
	
	//分页查询下载
	List<Document> selectDocument(Document document,PageModel pageModel);
	//根据id查询下载
	Document selectDovumentById(Integer id);
	//根据id删除下载
	void deleteDocument(Integer id);
	//添加下载
	void insertDocument(Document document);
	//修改下载
	void updateDocument(Document document);
}

分别针对系统的功能需求设计了HrmService接口中的各方法,以实体User而言,涉及的方法包括根据loginName、password进行登录,根据id值查询用户信息、分页查询等。其中分页查询又需要调用DAO组件UserDao中的count()以及selectBypage()两个方法,由此可见业务逻辑组件的实现需要依托于DAO组件,二者是密不可分的关系。

猜你喜欢

转载自blog.csdn.net/llc950819/article/details/85219115