最近新做了一个crm客户关系管理系统项目,采用的是spring+springMvc+mybtis+maven+easyui+svn框架。
我最主要负责的模块是:1、菜单管理 2字典明细 3、系统日志 4、和主页的菜单动态展示,完成以后这儿适当的总结一下每个模块的完成过程和遇到的一些问题
一 菜单管理:(自连接)

我这儿采用的是easyui-layout布局,使用'center'和'east'窗口,分别引入datagrid表格,一个显示主菜单,一个显示子菜单。
并且在选中主菜单的时候才显示它对应的子菜单。(使用了datagrid的onClickRow事件)

主要完成的功能是:
1主菜单的新增
2主菜单的修改
3主菜单的删除
这儿要说明一下,主菜单的删除意味着和它关联的子菜单也要一并删除
所以删除的sql语句的条件where要根据菜单编号(sn)进行删除
4主菜单的刷新
5主菜单的查询
6子菜单的新增
我设计的是必需先选中主菜单,才可以在该菜单下进行新增,而菜单编号(sn)是通过主菜单的的onClickRow事件,拿到的在放到from表单的input标签中,最后保存到数据中
7子菜单的修改
注意:1.sn和主菜单的关联id在隐藏域中,为不可更改。所以在数据回显的时候应该先从数据库中查询再回显,修改。

8子菜单的删除
二. 字典明细(组合关系)
概念:就是把字段少,名称一样,无外键关联的表,抽取到两个表中。

布局和菜单管理一样,都是一个页面两个表格。
完成的功能也和菜单管理一样这理就不介绍了。
三系统日志
系统日志采用的是springAOP(切面编程)技术。我这儿选择的是使用注解的方式获取系统的操作信息保存到数据库
步骤:1.创建注解类

2. 创建切点切面




3. 把注解写在controller层的方法上,在每次调用这个方法的时候系统就会自动记录数据

4. 配置applacationContext-xml文件

完成的功能有
1. 查询

首先创建了一个SystemLogQuery对象

后台用SystemLogQuery接收数据
Mapperxml中的查询语句使用了<where>+<if>标签(自动拼接sql)

2. 批量删除
首先把选择的数据的id封装成一个数组传递到后台,后台遍历数组根据id循环删除数据

这一次使用svn给予了我深刻的认识,首先项目中要大家沟通到位,如果有一点点不统一的地方,在集成项目的时候会出现很多的bug。比如一个类名,一个字段没对应上,都要找很久。然后就是xml的jar包引入,如果有更改一定要及时的说明。最后想说的是在团队协作中技术和沟通一样重要。
网友评论