java二


第 3 章
完成基础模块的开发

一、通用类抽取
(一)DAO 接口及类通用部分抽取
1.DAO 接口抽取1)建立 IBaseDao 接口,IDepDao(部门列表接口)的内容拷贝到这个接口里,将实体类替换为 T , 批量替换要注意,区分大小写.IDepDao 继承自 IBaseDao,删除掉所有的方法
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
2.DAO 类抽取
(1)创建 BaseDao 继承自 HibernateDaoSupport 类,将 DepDao 中的方法复制过来。
(2)添加泛型 T
(3)替换类 Dep T ,dep t
(4) getDetachedCriteria 方法改为公有的空方法、 因为此方法里是对查询条件的构建,无法提取到父类,只能有子类去实现。
(5)处理 T.class 问题
T 本身是泛型,是不能.class ,如何处理呢?我们可以先定义一个 entityClass的属性然后,将 T.class 替换为 entityClass
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090下面就是 entityClass 如何构建了,我们写个构造方法,在方法体中写下列代 Typ
e type=getClass().getGenericSuperclass();//得到子类的 class 的父一级 Class
ParameterizedType ptype=(ParameterizedType)type;//可以得到泛型类型的 TYPE
Type[] types= ptype.getActualTypeArguments();//得到所有泛型的类型
entityClass =(Class<T>) types[0]; //取第一个泛型的类型
BaseDao 完成了,我们开始修改 DepDao修改继承父类为 BaseDaogetDetachedCriteria 之外的其它方法全部删除。修改 getDetachedCriteria 方法的访问修饰符为 protected public测试看是否成功吧?抽取之后的 dao 是不是清爽很多呀!接着来!

(二)Biz 接口及类通用部分抽取
1.Biz 接口抽取抽取后,修改 IDepBiz, 删除所有方法,继承自 IBaseBiz
2.Biz 类抽取先替换这部分
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090替换为下面代码, 改成父接口所有的 depDao 改为 baseDao所有的 Dep 改为 T ,所有的 dep 变量改为 t
BaseBiz 完成后,再修改 DepBiz
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
OK 了,测试一下吧。
(三)action 类通用部分抽取修改业务逻辑层接口的声明改成下列代码:把所有的 depBiz 替换为 baseBiz添加泛型
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090替换所有的 Dep T dep t
get 方法里强转修改 write 的访问修饰符为 public
我们再修改 DepAction 让其继承自 BaseAction ,并泛型实体
测试一下,我们会发现列表 、删除 是可以用的,但是点修改,无法查询出数据是什么原因呢??
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090通过火狐浏览器 我们看一下 ,返回的 json 变成了 t.name而我们的表单是我们把表单的 name 修改为 t. 形式的试一试?测试 OK 了,我们把查询表单也修改一下
(四)JS 通用部分抽取
1、在 js 文件夹建立 crud.js, 在将 JS 中代码复制到 crud.js 中,将可能变化的部分改为变量,替换 crud.js 中变量部分1)修改页面,设置变量
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-90902)修改 crud.js,替换变量替换 URL 为如下形式其它的增删改的 URL 也参考此模式,替换 datagrid 的列定义:
二、代码生成器(扩展)详见文档《代码生成器》
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
三、员工管理的完善(重点)
(一)完善列表显示效果
1.去掉密码列如图所示,密码出现在列表中不符合常理,应该去掉密码的显示1)打开 emp.html 删除下图红线一行。2)刷新浏览器,看到此列已被删除。
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090虽然在页面上无法看到密码了, 但是输出 json action 还是可以看到密码数据的这是很不安全的,怎么办呢? 我们可以通过 fastJSON 给我们提供的 JSONField注解的 serialize 属性控制是否对此列序列化。
2.显示性别
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值