联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码

联系人管理-添加联系人| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码
联系人保存(添加联系人),修改联系人,删除联系人,条件查询联系人,解决与客户之间的问题,级联删除的问题

一、联系人保存(添加联系人)

1、跳转添加页面(跳转并查询客户)

(1)修改menu.jsp的跳转链接

在这里插入图片描述

(2)编写Action当中是saveUI的方法
  • 在LinkManAction设置注入注入客户管理的Service,customerService以及对应的set方法
    联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第1张图片
  • 在appliaction.xml当中的LinkManAction配置注入customerService
    联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第2张图片
  • 在LinkManAction,编写跳转的方法将查询的list集合放到值栈当中
    联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第3张图片
(3)编写业务层CustomerServiceImpl以及CustomerDaoImpl层的代码

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第4张图片
联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第5张图片

(4)在struts.xml当中配置跳转

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第6张图片

2、修改添加页面linkman/add.jsp(改成struts2的标签)

(1)引入Struts2的标签库

在这里插入图片描述

(2)在struts2的from标签的表单上写

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第7张图片
使Struts的表单失效,因为原本Struts的表单就有样式,和css的效果可能混乱,所以在表单上添加theme=“simple”

(3)完善表单提交的路径

在这里插入图片描述

(4)修改表单内容

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第8张图片

(5)测试效果

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第9张图片

3、编写action的方法,在LinkManAction当中编写save方法以及service和dao

(1)编写LinkManAction当中的save方法

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第10张图片

(2)在LinkManServiceImpl当中设置事务以及调用DAO层的save方法

在这里插入图片描述
联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第11张图片

(3)在LinkManDaoImpl当中保存linkman到持久层

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第12张图片

(4)在struts.xml当中设置跳转

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第13张图片

(5)测试

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第14张图片
联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第15张图片

(6)改进上面的联系人性别相关的设置
  • 在数据库当中将性别设置为男为1,女为2
    联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第16张图片
  • 修改linkman的list.jsp,用
    联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第17张图片
  • 判断显示对应的数据
    联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第18张图片

二、修改联系人

1、修改linkman下的list.jsp页面的跳转链接

在这里插入图片描述

2、编写action的edit方法

在LinkManAction当中编写跳转到编辑页面的方法:edit方法
联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第19张图片

3、LinkManServiceImpl

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第20张图片

4、LinkManDaoImpl

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第21张图片

5、在struts.xml当中修改跳转

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第22张图片

6、修改linkman下的edit.jsp

  • 设置from表单提交的路径
    在这里插入图片描述
  • 设置表单属性
    联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第23张图片

7、编写LinkManAction当中的update方法

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第24张图片

8、LinkManServiceImpl

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第25张图片

9、LinkManDaoImpl

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第26张图片

10、在struts.xml当中设置跳转

在这里插入图片描述

11、测试

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第27张图片

  • 修改成功
    联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第28张图片

三、删除联系人

1、在linkman下的list.jsp修改删除的链接

在这里插入图片描述

2、编写LinkManAction中的delete方法

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第29张图片

3、在LinkManServiceImpl当中

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第30张图片

4、LinkManDaoImpl

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第31张图片

5、在struts.xml当中设置跳转

在这里插入图片描述

6、测试

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第32张图片

  • 成功删除
    联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第33张图片

四、条件查询联系人

1、修改linkman下的list.jsp列表页面

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第34张图片

2、修改Action当中的findAll的方法

LinkManAction当中的findAll方法
联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第35张图片

3、测试成功

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第36张图片

五、解决与客户之间的问题

1、级联删除的问题

  • 上面的这种情况下,当删除客户的时候无法级联删除联系人(造成数据的不正确),联系人当中的外键置为空
  • 级联删除,在客户删除的时候,先查询再删除
  • 在客户的映射上来进行配置
(1)设置级联删除
  • 在Customer.hbm.xml当中设置cascade=“delete”,将客户所关联的联系人一起删掉
    联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第37张图片
(2)测试(在此之前将数据库当中cst_linkman表当中的lkm_cust_id不能为空的属性去掉)
  • 客户的张三11111111111
    在这里插入图片描述
  • 联系人的张三222222222,属于客户张三111111111111111
    在这里插入图片描述
  • 删除张三111111
    在这里插入图片描述
  • 张三222 也被删除
    联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第38张图片

2、修改的问题:当修改客户的时候,联系人当中客户的内容会丢失

  • 因为在修改客户的时候没有查询联系人的集合,当我们点击修改,修改了客户(同时修改客户所关联的联系人),因为联系人的集合是空所以就会将外键置空。
  • 当点击修改的时候,页面上只有客户的信息,没有客户关联联系人的信息,也就是说提交的时候会将联系人的集合置空,并且会将客户当中所有的信息都修改包括外键关联的集合(空)。
  • 因为一的一方有外键维护权(客户),当集合为空的时候外键对应的值也为空,
  • 所以需要在一的一方放弃外键维护权
(1)在Customer.hbm.xml当中的 外键配置上设置放弃外键维护权

联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第39张图片

(2)测试
  • 联系人张三2222222对应客户张三111111111122222
    联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第40张图片
  • 客户张三1111222222
    联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第41张图片
  • 变成张三4444444444444
    联系人管理-添加/修改/删除联系人/条件查询/解决与客户之间的问题| CRM客户关系管理系统项目实战五(Struts2+Spring+Hibernate)解析+源代码_第42张图片
  • 查看联系人
    所属客户修改成功
    在这里插入图片描述

你可能感兴趣的:(项目实战+源代码)