【CRM(五)】CRM权限拦截器_SSH纯注解整合

CRM综合练习:客户拜访记录

客户拜访记录管理

客户拜访记录需求的概述

一个系统的用户(公司业务员),业务员需要对客户进行拜访,对拜访的过程进行记录。业务员(用户)和客户(客户)之间关系(需要具体业务具体分析:一对多—公司产品比较单一,只允许一个业务员对应多个客户。多对多—大公司有不同的产品,不同产品下有不同业务员都可以接触到同一个客户,一个客户可以对应多个业务员)。大部分情况创建成多对多。

  • 多对多建表原则:
    • 创建中间表,中间表中至少两个字段分别作为外键指向多对多双方的主键。
      在这里插入图片描述

客户拜访记录的准备工作

创建表

CREATE TABLE `sale_visit` (
  `visit_id` varchar(32) NOT NULL,
  `visit_cust_id` bigint(32) DEFAULT NULL COMMENT '客户id',
  `visit_user_id` bigint(32) DEFAULT NULL COMMENT '负责人id',
  `visit_time` datetime DEFAULT NULL COMMENT '拜访时间',
  `visit_addr` varchar(128) DEFAULT NULL COMMENT '拜访地点',
  `visit_detail` varchar(256) DEFAULT NULL COMMENT '拜访详情',
  `visit_nexttime` date DEFAULT NULL COMMENT '下次拜访时间',
  PRIMARY KEY (`visit_id`),
  KEY `FK_sale_visit_cust_id` (`visit_cust_id`),
  KEY `FK_sale_visit_user_id` (`visit_user_id`),
  CONSTRAINT `FK_sale_visit_cust_id` FOREIGN KEY (`visit_cust_id`) REFERENCES `cst_customer` (`cust_id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `FK_sale_visit_user_id` FOREIGN KEY (`visit_user_id`) REFERENCES `sys_user` (`user_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在这里插入图片描述

创建实体和映射

  • 创建实体
    在这里插入图片描述
  • 创建映射
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<class name="com.lele.crm.domain.SaleVisit" table="sale_visit">
		<id name="visit_id" column="visit_id">
			<generator class="uuid"/>
		</id>
		
		<property name="visit_time" column="visit_time"/>
		<property name="visit_addr" column="visit_addr"/>
		<property name="visit_detail" column="visit_detail"/>
		<property name="visit_nexttime" column="visit_nexttime"/>
		
		<!-- 配置与客户的关联关系 -->
		<many-to-one name="customer" class="com.lele.crm.domain.Customer" column="visit_cust_id"/>
		
		<!-- 配置与用户的关联关系 -->
		<many-to-one name="user" class="com.lele.crm.domain.User" column="visit_user_id"/>
	</class>
</hibernate-mapping>

创建相关类

将相关类进行配置

  • Bean管理交给Spring的XML
  • 属性注入使用注解方式
    在这里插入图片描述

客户拜访记录的列表显示

修改menu.jsp的提交路径

在这里插入图片描述

编写Action的findAll的方法

在这里插入图片描述

编写Service

在这里插入图片描述

在页面显示数据

在这里插入图片描述

客户拜访记录的保存

修改menu.jsp的链接地址

在这里插入图片描述

编写Action中的saveUI方法

在这里插入图片描述

跳转到添加页面

在这里插入图片描述

异步加载数据

在这里插入图片描述

编写Action的save方法

在这里插入图片描述

编写Service

在这里插入图片描述

客户拜访记录的条件查询

修改了Action的findAll的方法

在这里插入图片描述

权限拦截器

实现一个权限拦截器

编写类继承拦截器类

在这里插入图片描述

配置拦截器

在这里插入图片描述

SSH整合(纯注解)

搭建SSH注解开发的环境

第一步:创建web项目,引入jar包

  • SSH整合的jar包
  • Struts2的注解开发包:
    • struts2-convention-plugin-2.3.24.jar ----Struts2的注解开发包。

第二步:引入配置文件

  • web.xml
    • Struts2的过滤器
      在这里插入图片描述
  • Spring的监听器
    在这里插入图片描述
  • jdbc.properties
  • log4j.properties
  • applicationContext.xml

第三步:创建相关的包和类

在这里插入图片描述

第四步:引入相关页面

保存客户

第五步:编写Action的save方法

在这里插入图片描述

第六步:配置Action

  • 在Spring中配置Action,Action交给Spring管理(使用注解方式)
    • 开启组件扫描
      在这里插入图片描述
    • 在类上添加注解:
      在这里插入图片描述
  • 在struts中配置Action,Action负责处理请求和页面跳转
    在这里插入图片描述

第七步:Action调用业务层

  • Service交给Spring管理
    在这里插入图片描述
  • Action中注入Service
    在这里插入图片描述
  • 在Action的方法中调用业务层
    在这里插入图片描述

第八步:在Service中调用DAO

  • 将DAO交给Spring管理
    在这里插入图片描述
  • 在Service中注入DAO
    在这里插入图片描述

第九步:创建实体和映射(映射使用的是注解)

  • 现在映射使用注解实现(将表和类建立关系,将表中的字段和类中属性建立关系)
    在这里插入图片描述

第十步:在Spring中整合Hibernate

在这里插入图片描述

第十一步:在DAO中使用模板

  • 不能让DAO继承HibernateDaoSupport,因为属性注入不能使用注解方式。
  • 自己在DAO中注入模板
    • 定义Hibernate模板
      在这里插入图片描述
    • 注入模板
      在这里插入图片描述
  • 在DAO中使用模板完成保存
    在这里插入图片描述

第十二步:配置事务管理

  • 配置事务管理器
  • 开启注解事务
    在这里插入图片描述
  • 在业务层添加注解
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值