1.新增用户
第一步:
需求分析:
点击新增会跳转到这个页面,选择用户角色,和部门之前要查找所有的用户角色和部门
1.写controller
@RequestMapping("/getDeptAndRole") public String getDeptAndRole(Map<String,List>map) { List<Role> roles=roleService.getRoles(); List<Dept> depts=deptService.getDepts(); map.put("roles",roles); map.put("depts",depts); return "user-add"; }
2.前端
输入框的name为实体类的对应
dept.id和role.id 为了稍后保存时,插入emp和role临时表表中,radio和checkbox差不多
3.保存(插入表中)
1.controller
service
都是通过对象作为参数查找,取决于mappper中的方法。
2.mapper中插入emp表时,要设置自增,还要把自增后的id赋值给实体id,要不然在往emp_role
表中插入时会报错找不到emp的id
useGeneratedKeys="true" keyProperty="uId" keyColumn="u_id"
3.添加成功后就会返回用户管理页面
return "forward:/emp/getEmpsWithDeptAndRole";
2.删除用户
1.前端修改一下请求
2.controller
删除emp表,和emp_role表
3.service
根据条件删除,需要设置查询条件
4.返回用户管理页面
return "forward:/emp/getEmpsWithDeptAndRole";
2.修改用户
需求分析:修改和新增页面大致是相同的,需要查询所有的页面信息和原来的用户信息,然后点击保存,还会发送一个请求
第一步:查询所有用户信息(包括所属部门和角色)部门信息,角色信息,最后map发到页面
第二步:新增查询mapper
和查询所有不同,多个emp的id,锁定是哪个用户
第三步:页面显示查到的
主要改的就是,第一个红框是原来选中的部门,并显示部门名字,注意 checked代表已经勾选,
第二个红框:不被选中的也要被显示出来
角色用法相同
第四步:保存修改信息
需求分析:保存信息不但要修改emp表还要修改emp_role表
1.controller
2.emp_role的service
更新需要条件,好像是mapper表里的,还没研究明白。
3.返回到管理用户页面
return "forward:/emp/getEmpsWithDeptAndRole";
遇到的问题:
点击新增,显示的页面信息为原来的信息,选中的角色和部门也没有显示名字
解决办法:原来是map添加的时候employee打错了,改过来就好了。