部门模块的开发总结

本文总结了部门管理模块的开发过程,包括创建DeptParam、SysDeptController和SysDeptService。详细介绍了各个组件的功能,如使用Lombok简化对象构建,通过LevelUnit计算层级,以及实现部门树形结构的转换。此外,还讨论了更新方法、批量更新和Druid配置等问题。
摘要由CSDN通过智能技术生成

这个模块中主要实现的功能

  1. 部门管理 新增和修改
  2. 用户管理

创建一个DeptParam

这个类用来作为前台与后端的交互的类,从前台取到数据然后封装以后再处理到数据库当中去。
主要包括的属性可以根据数据库中的内容来创建。
包括id,parentId,name,remark,seq在加上各种对于类的限制。

创建SysDeptController

这个类主要是用来处理来自dispatchServlet处理来的映射,体现了SpringMVC的思想。
主要是定义接口具体的实现交给SysDeptService去处理。
主要的接口有 save() update() tree() (这个接口是把数据处理成为树形结构) page()(这个方法是返回一个页面)

创建SysDeptService

这个类负责的是对于contoller方法中的具体的实现。
首先是对于save的实现。因为这个类比较复杂所以贴一下每个方法的实现。

	public void save(DeptParam param){
		BeanValidator.check(param);
		if(checkExist(param.getParentId(),param.getName(),param.getId())){
			throw new ParamterException("同一层级下面存在相同名称的部门");
		}
		SysDept dept = SysDept.builder().name(param.getName()).parentId(param.getParentId()).remark(param.getRemark())
								.seq(param.getSeq()).build();
		dept.setLevel(LevelUnit.calculate(getLevel(param.getParentId()),param.getParentId());
		dept.setOperator("System Save");
		dept.setOperatorIp("127.0.0.1");
		dept.setOperatorTime(new Date());
		sysDeptMappet.insertSelective(dept);
	}

这个方法中值得注意的点:

1 是使用了lombok的 @Builder的注解了SysDept这个类 这样便可以使用类似动态语言的构建的方法,方便开发
2 使用到了工具包LevelUnit中的calculate()的方法用来计算当前的层级
3 使用sysMapper这个方法是mybatis-generator自动生成的类的方法,insertSelective() 和insert的区别在于可以从xml文件中看到,selective多了对于参数的非null判断

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值