联系人管理-添加联系人| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码
联系人保存(添加联系人),修改联系人,删除联系人,条件查询联系人,解决与客户之间的问题,级联删除的问题
一、联系人保存(添加联系人)
1、跳转添加页面(跳转并查询客户)
(1)修改menu.jsp的跳转链接
(2)编写Action当中是saveUI的方法
- 在LinkManAction设置注入注入客户管理的Service,customerService以及对应的set方法
- 在appliaction.xml当中的LinkManAction配置注入customerService
- 在LinkManAction,编写跳转的方法将查询的list集合放到值栈当中
(3)编写业务层CustomerServiceImpl以及CustomerDaoImpl层的代码
(4)在struts.xml当中配置跳转
2、修改添加页面linkman/add.jsp(改成struts2的标签)
(1)引入Struts2的标签库
(2)在struts2的from标签的表单上写
使Struts的表单失效,因为原本Struts的表单就有样式,和css的效果可能混乱,所以在表单上添加theme=“simple”
(3)完善表单提交的路径
(4)修改表单内容
(5)测试效果
3、编写action的方法,在LinkManAction当中编写save方法以及service和dao
(1)编写LinkManAction当中的save方法
(2)在LinkManServiceImpl当中设置事务以及调用DAO层的save方法
(3)在LinkManDaoImpl当中保存linkman到持久层
(4)在struts.xml当中设置跳转
(5)测试
(6)改进上面的联系人性别相关的设置
- 在数据库当中将性别设置为男为1,女为2
- 修改linkman的list.jsp,用
<s:if></s:if>
- 判断显示对应的数据
二、修改联系人
1、修改linkman下的list.jsp页面的跳转链接
2、编写action的edit方法
在LinkManAction当中编写跳转到编辑页面的方法:edit方法
3、LinkManServiceImpl
4、LinkManDaoImpl
5、在struts.xml当中修改跳转
6、修改linkman下的edit.jsp
- 设置from表单提交的路径
- 设置表单属性
7、编写LinkManAction当中的update方法
8、LinkManServiceImpl
9、LinkManDaoImpl
10、在struts.xml当中设置跳转
11、测试
- 修改成功
三、删除联系人
1、在linkman下的list.jsp修改删除的链接
2、编写LinkManAction中的delete方法
3、在LinkManServiceImpl当中
4、LinkManDaoImpl
5、在struts.xml当中设置跳转
6、测试
- 成功删除
四、条件查询联系人
1、修改linkman下的list.jsp列表页面
2、修改Action当中的findAll的方法
LinkManAction当中的findAll方法
3、测试成功
五、解决与客户之间的问题
1、级联删除的问题
- 上面的这种情况下,当删除客户的时候无法级联删除联系人(造成数据的不正确),联系人当中的外键置为空
- 级联删除,在客户删除的时候,先查询再删除
- 在客户的映射上来进行配置
(1)设置级联删除
- 在Customer.hbm.xml当中设置cascade=“delete”,将客户所关联的联系人一起删掉
(2)测试(在此之前将数据库当中cst_linkman表当中的lkm_cust_id不能为空的属性去掉)
- 客户的张三11111111111
- 联系人的张三222222222,属于客户张三111111111111111
- 删除张三111111
- 张三222 也被删除
2、修改的问题:当修改客户的时候,联系人当中客户的内容会丢失
- 因为在修改客户的时候没有查询联系人的集合,当我们点击修改,修改了客户(同时修改客户所关联的联系人),因为联系人的集合是空所以就会将外键置空。
- 当点击修改的时候,页面上只有客户的信息,没有客户关联联系人的信息,也就是说提交的时候会将联系人的集合置空,并且会将客户当中所有的信息都修改包括外键关联的集合(空)。
- 因为一的一方有外键维护权(客户),当集合为空的时候外键对应的值也为空,
- 所以需要在一的一方放弃外键维护权
(1)在Customer.hbm.xml当中的 外键配置上设置放弃外键维护权
(2)测试
- 联系人张三2222222对应客户张三111111111122222
- 客户张三1111222222
- 变成张三4444444444444
- 查看联系人
所属客户修改成功