博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Day56 Java框架 SSH案例_CRM(四)
阅读量:3944 次
发布时间:2019-05-24

本文共 1173 字,大约阅读时间需要 3 分钟。

联系人管理

一.保存联系人

  1. 修改menu.jsp的链接
  2. 编写Action中的saveUI的方法
  3. 编写Service
  4. 编写DAO
  5. 修改添加页面(改成Struts2的标签)
  6. 编写表单提交的路径
  7. 编写Action的save方法
  8. 编写Service ,加上事务注解
  9. 编写DAO

二.修改联系人

  1. 修改列表页面上的链接
  2. 编写Action的eidtUI方法
  3. 编写Service
  4. 编写DAO
  5. 修改编辑页面提交的路径
  6. 编写Action的update方法
  7. 编写Service
  8. 编写DAO

三.删除联系人

  1. 修改链接地址
  2. 编写Action中的delete方法
  3. 编写Service
  4. 编写DAO

四.条件查询联系人

  1. 修改列表页面
  2. 修改Action中findAll方法

五.解决与客户之间问题

  1. 级联删除的问题
    - 级联删除,在客户删除的时候,先查询再删除
    - 在客户的映射上进行配置  
  2. 修改客户的时候,联系人的客户的信息丢失
    - 因为在修改客户的时候,没有查询联系人的集合,当点击修改,修改客户(修改客户所关联联系人),因为联系人的集合
    是空,所以将外键置为null.

抽取通用的DAO

一.通用的DAO的抽取

  1. 抽取通用的增删改的操作
    1. 定义接口  BaseDao<T>
    2. 定义实现类 BaseDaoImpl<T> extends HibernateDaoSupport implements BaseDao<T>
  2. 抽取一个查询一个记录的方法
    1. 在接口中定义一个查询的方法
    2.  在实现类中实现查询的方法
       
    3. 如果能把具体的类型的Class解决,查询所有,分页查询都可以解决.
  3. 解决方案一: 在实现类的构造方法中传入一个class
    1. 编写实现类
    2. 在父类提供了有参数的构造方法,在子类中继承了父类,提供构造方法,在子类的构造中,调用父类的有参数的构造
      - 在客户的DAO的实现类中
       
      - 在联系人的DAO的实现类中 同上
  4. 进一步优化: 通过泛型的反射抽取通用的DAO
    1. 如果将DAO中的构造方法去掉,将父类的通用的DAO中提供无参数的构造即可,但是需要获得具体类型的Class才行
    2. 泛型 : 通用的类型
      <>                               : 念为 typeof
      List<E>                       : E称为类型参数变量
      ArrayList<Integer>      : Integer称为是实际类型参数
      ArrayList<Integer>      : ArrayList<Integer> 称为参数化类型
    3. 泛型反射的步骤
      - 获得代表子类对象的Class
      - 查看API
                  Type[ ] getGenericInterfaces();   //获得带有泛型的接口
                  Type getGenericSuperclass();    //获得带有泛型的父类
      - 获得带有泛型的父类
      - 将带有泛型的父类的类型转成具体参数化的类型
      - 通过参数化类型的方法获得实际类型参数
    4. 代码实现

转载地址:http://llawi.baihongyu.com/

你可能感兴趣的文章
Android 默认暗码
查看>>
Android 系列 1.3了解Android版本
查看>>
Android 系列 6.28使用正确的复数格式化
查看>>
Android 系列 6.29创建在两个活动之间显示的加载屏幕
查看>>
Android的Gradle技巧 1.2配置SDK版本和其他默认值
查看>>
Android的Gradle技巧 1.3从命令行执行Gradle构建
查看>>
Android的Gradle技巧 1.4从Android Studio执行Gradle构建
查看>>
Android的Gradle技巧 1.5添加Java库依赖关系
查看>>
Android的Gradle技巧 1.6使用Android Studio添加库依赖关系
查看>>
Android的Gradle技巧 1.7配置存储库
查看>>
android Collections 排序,
查看>>
Android的Gradle技巧 2.1设置项目属性
查看>>
Android的Gradle技巧 2.2将应用程序从Eclipse ADT移植到Android Studio
查看>>
Android的Gradle技巧 2.3从Eclipse移植应用程序ADT使用Eclipse
查看>>
昂山素季 Aung San Suu Kyi
查看>>
AI 人工智能第一课 从贝叶斯定理开始
查看>>
朴素贝叶斯python实现
查看>>
Logistic回归原理及公式推导
查看>>
并发性与并行性 并发性与并行性
查看>>
惰性求值,可组合和模块化的JavaScript
查看>>