Day33项目saas-export项目-部门管理-添加部门
精选
原创
©著作权归作者所有:来自51CTO博客作者翁老师的教学团队的原创作品,请联系作者获取转载授权,否则将追究法律责任
保存部门后台
TestDeptService
@Test
public void test03(){
//模拟表单
Dept dept = new Dept();
dept.setCompanyId("1");
dept.setDeptName("最牛13java部门");
dept.setState(1);
Dept parent = new Dept();
parent.setDeptId("100101101");
dept.setParent(parent);
//保存到数据库
iDeptService.saveDept(dept);
}
IDeptService
//新建一个部门
void saveDept(Dept dept);
DeptServiceImpl
@Override
public void saveDept(Dept dept) {
//表的id都不是自动生成的
String id = UUID.randomUUID().toString();
dept.setDeptId(id);
//调用dao进行保存
iDeptDao.save(dept);
}
IDeptDao
IDeptDao.xml
<insert id="save" parameterType="dept">
insert into pe_dept
(
dept_id ,
dept_name ,
parent_id ,
state ,
company_id ,
company_name
)
values
(
#{deptId },
#{deptName },
#{parent.deptId },
#{state },
#{companyId },
#{companyName}
)
</insert>
不能直接获取上级部门的id,必须获取上级部门,再获取它的deptId
保存部门前台
dept-add.jsp
action="${path}/system/dept/add.do"
DeptController
@RequestMapping(path="/add",method ={ RequestMethod.POST})
public String add(Dept dept,String parentId){
l.info("add dept="+dept);
l.info("add parentId="+parentId);
//现在默认公司id是1,后面再修改
dept.setCompanyId("1");
Dept parent = new Dept();
parent.setDeptId(parentId);
dept.setParent(parent);
//保存到数据库
iDeptService.saveDept(dept);
return "redirect:/system/dept/toList.do";
}
-
String parentId
有什么用? - 因为实体类中没有parentId的变量,所以页面提交的parentId不能被接收
- 所以单独定义一个参数来接收