2022首次更文挑战第20天 | 员工系统中的员工模块

171 阅读2分钟

「这是我参与2022首次更文挑战的第20天,活动详情查看:2022首次更文挑战

这一篇我们讲员工管理系统的员工模块,员工模块中有添加员工,查看员工,更新员工,删除员工等功能。 在这里插入图片描述 员工列表,显示所有的员工:

// 员工信息列表
public String yuangonglist() {
	HttpServletRequest request = ServletActionContext.getRequest();
	request.setAttribute("list2",
			bumenDao.selectBeanList(0, 999, " where bumenlock=0 "));

	String truename = request.getParameter("truename");
	String yuangonghao = request.getParameter("yuangonghao");
	String bumen = request.getParameter("bumen");

	StringBuffer sb = new StringBuffer();
	
	int total = yuangongDao.selectBeanCount(where2);
	request.setAttribute("list", yuangongDao.selectBeanList(
			(currentpage - 1) * pagesize, pagesize, where));
	request.setAttribute("pagerinfo", Pager.getPagerNormal(total, pagesize,
			currentpage, "method!yuangonglist", "共有" + total + "条记录"));
	this.setUrl("yuangong/yuangonglist.jsp");
	return SUCCESS;
}

显示所有的员工信息,其中,员工信息里面,要显示所有的部门信息,所有,查询员工的的时候要先关联部门信息,有两种方案,第一种,是每查一个员工,查询该员工所对应的部门,这种效率比较慢。第二种方案,列出所有的员工,批量查询部门。实现方法是这个:

return (List<Bumen>)this.getHibernateTemplate().executeFind(new HibernateCallback() {
			public Object doInHibernate(final Session session)throws HibernateException, SQLException {				
				List<Bumen> list = session.createQuery("from Bumen "+where)
				.setFirstResult(start)
				.setMaxResults(limit)
				.list();
				return list;
			}
		});

接着是分页信息,每页多少名员工,查出员工总数,这样,得到有多少页的员工,request.setAttribute("list", yuangongDao.selectBeanList( (currentpage - 1) * pagesize, pagesize, where));

添加员工信息:

// 添加员工信息操作
public void yuangongadd2() throws IOException {
	HttpServletRequest request = ServletActionContext.getRequest();
	String bumen = request.getParameter("bumen");
	String dizhi = request.getParameter("dizhi");
	String jiguan = request.getParameter("jiguan");
	String lianxidianhua = request.getParameter("lianxidianhua");
	String ruzhishijian = request.getParameter("ruzhishijian");
	String truename = request.getParameter("truename");
	String xingbie = request.getParameter("xingbie");
	String beizhu = request.getParameter("beizhu");
	String xueli = request.getParameter("xueli");
	String yuangonghao = Util.getTime2();
	Yuangong bean = new Yuangong();
	bean.setBumen(bumenDao.selectBean(" where id= " + bumen));
	bean.setCreatetime(new Date());
	bean.setDizhi(dizhi);
	bean.setJiguan(jiguan);
	bean.setLianxidianhua(lianxidianhua);
	bean.setRuzhishijian(ruzhishijian);
	bean.setTruename(truename);
	bean.setXueli(xueli);
	bean.setYuangonghao(yuangonghao);
	bean.setXingbie(xingbie);
	bean.setBeizhu(beizhu);
	yuangongDao.insertBean(bean);
	User user = new User();
	user.setCreatetime(new Date());
	user.setPassword("111111");
	user.setRole(0);
	user.setTruename(truename);
	user.setUsername(yuangonghao);
	user.setYuangong(bean);
	userDao.insertBean(user);
	HttpServletResponse response = ServletActionContext.getResponse();
	response.setCharacterEncoding("gbk");
	response.getWriter()
			.print("<script language=javascript>alert('操作成功');window.location.href='method!yuangonglist';</script>");
}

这里就是基本的填充员工的信息,密码初始化为111111,设置用户的创建时间,角色,用户名,部门,地址,性别等等信息。 修改员工信息的代码是一样的,除了主键id不能改之外,其他都可以进行修改。

查看员工信息操作:查看该员工的基本信息,部门,地址,性别等等信息。

// 查看员工信息操作
public String yuangongupdate3() {
	HttpServletRequest request = ServletActionContext.getRequest();
	Yuangong bean = yuangongDao.selectBean(" where id= "
			+ request.getParameter("id"));
	request.setAttribute("bean", bean);
	this.setUrl("yuangong/yuangongupdate3.jsp");
	return SUCCESS;
}

删除员工信息:直接根据员工id进行删除。

这里拓展一下实用知识:StringUtils是可以用来判断字符串是否为空,它是org.springframework.util.StringUtils包下,我们传统判断字符串是否为空,一般是这样判断,str != null && "".equals(str),还可以用str.size==0或者 str.length==0,代码太多,而StringUtils就不同了,直接用StringUtils.isEmpty()来判断是否为空,这样代码是不是少写了很多,简洁明了。