业务逻辑组件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组件,二者是密不可分的关系。