1. 程式人生 > >整合SpringMVC框架+Mybatis框架開發人力資源管理系統(六)

整合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元件,二者是密不可分的關係。