「这是我参与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()来判断是否为空,这样代码是不是少写了很多,简洁明了。