员工管理系统————员工管理模块

时间:2020-12-23 00:56:42

1.分析

  当点击左边用户管理的超链接时,右边的iframe显示所有员工的信息。如图:

员工管理系统————员工管理模块

2.步骤

  a.在接口中声明获取所有员工的方法

  b.实现接口中的方法;

  c.调用dao获取数据中所有员工的数据

  d.请求共享数据

  e.请求转发到emp.jsp

3.代码

a:

IEmpDAO.java

public interface IEmpDAO {
    /*声明获取所有员工方法*/
    List<Map<String,Object>> getAllEmp();
}

b:

EmpDAOImpl.java

/*实现接口中的方法*/
public class EmpDAOImpl implements IEmpDAO{
    /*获得所有的员工信息,多表联查*/
    @Override
    public List<Map<String, Object>> getAllEmp() {
        String sql = "select e.id,e.name,e.telephone,e.hiredate,e.state,d.name dname,r.name rname from employee e INNER JOIN department  d on e.deptID = d.id INNER JOIN role r on e.roleID = r.id";
        return DBUtil.executeQuery(sql);
    }
}

c,d,e:

EmployeeServlet.java

@WebServlet("/emp")
public class EmployeeServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        /*获得数据库中所有数据*/
        IEmpDAO dao=new EmpDAOImpl();
        List<Map<String, Object>> allEmp = dao.getAllEmp();
        /*请求共享数据*/
        req.setAttribute("allEmp",allEmp);
        /*请求转发给某个jsp*/
        req.getRequestDispatcher("/emp.jsp").forward(req,resp);
    }
}

emp.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <table border="1px" cellspacing="0" width="95%" align="center">
        <tr>
            <th>员工编号</th>
            <th>员工姓名</th>
            <th>员工电话</th>
            <th>入职时间</th>
            <th>员工部门</th>
            <th>员工角色</th>
            <th>员工状态</th>
            <th>员工操作</th>
        </tr>
        <c:forEach items="${allEmp}" var="emp">
            <tr>
                <th>${emp.id}</th>
                <th>${emp.name}</th>
                <th>${emp.telephone}</th>
                <th>${emp.hiredate}</th>
                <th>${emp.dname}</th>
                <th>${emp.rname}</th>
                <th>${emp.state==1?"在职":"离职"}</th>
                <th><a >删除</a></th>
            </tr>
        </c:forEach>

    </table>
</body>
</html>

main.jsp:

员工管理系统————员工管理模块