您的位置:首页 > 其它

OA项目的计划和开发和开发流程

2015-05-30 20:23 288 查看
OA项目的计划和开发和开发流程

1 建立界面原型

center.jsp main.jsp left.jsp ….

2 建立相关文件文件

定义包名:com.oa.(model(模型层), dao(数据访问层), service() ,Action …)

确定Model 层的实体类(有共同属性的实体应该继承同一个父类(共同属性放在父类中))

(Company,Department, Position,Person,父类Party)

确定Service接口方法()
确定Dao接口定义方法()


Struts.xml applicationContext-common.xml databaseContext.xml …

建立数据库,(可以根据model的映射文件.hbm.xml)来自动生成数据库

建立测试文件,注意测试文件(建立一个新的source folder下,包名和src下的工程包名相同,这样就可以省去导入相关包)

项目的命名原则(采用驼峰标志)

项目的包名:com.oa.(dao/dao.impl,model,service/service.impl,vo(PageVo页面模型对象),web,web.action)

辅助包名:com.oa.util

实体的类名:(模型model)

父类:Party(id,description,parent,name,children)

子类:Person(job)

Company(tel)

Department()

Position()

建立父类的映射文件:Party.hbm.xml

注意:继承映射(单表映射是最常用的)

Dao层:对实体进行CRUD(添删改查)

命名:接口:实体名+Dao(XXXDao);

方法:动作+对象(saveXXX(Object );delXXX(Object)…);

方法的操作对象应该每一个实体对象,但是为了程序的灵活性,操作对象定义成父类的对象,这样更有利于代码的维护;

接口:PartyDao(saveCompany();delCompany();updateCompany;)

实现接口的类名:PartyDaoLmpl 并且继承父类(包括全部CURD)

类中方法名:实现接口中定义的方法即可;

注意查找方法中:findByLd(int id){}

(根据配置文件中的组件扫描,来确定注解@(“”))

Service层:命名:实体+Service(PartyService)

接口中的方法名:XXXService

实现接口的类名:

Junit:进行简单的测试:(测试要通过Service层进行测试)

注意:测试时,先要拿到工厂

注意:抽象的分页:

web2.0

public PageVo findPaging (String hql,int offset, int pagesize,Object…params);

因为每一次查询的都不一样,hql不确定(Hql不是查询总记录数),参数也不确定,因此定义成动态参数;

因此这个hql语句只能动态生成。(通过拼语句)

拼字符串这个方法,只有自己调用,因此定义成私有的private;

ThreadLocal模式:

为了在分页查询中,简化传参数,应用ThreadLocal模型,就可以解决这个问题,因为在分页的过程中,Service层根本不需要,offset和pagesize这两个参数,只有在Dao层,才会用到这两个参数。因此为了简化,用ThreadLocal封装这两个参数;

SystemContext这个对象可以封装这两个参数;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: