框架使用规范.docx
- 文档编号:10000781
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:62
- 大小:134.71KB
框架使用规范.docx
《框架使用规范.docx》由会员分享,可在线阅读,更多相关《框架使用规范.docx(62页珍藏版)》请在冰豆网上搜索。
框架使用规范
框架使用规范
关于本文档
主题
框架使用规范
说 明
本文档用于描述在框架中如何进行基本功能的开发。
简述了开发流程以及需要注意的事项。
适用对象
项目经理,开发组,维护组,新员工入职培训
修订历史
版本
章节
类型
日期
作者
说明
说明:
类型-创建(C)、修改(U)、删除(D)、增加(A);
评审记录
角色
签名
日期
说明
审核
会签
标准化审查
批准
一、单表增删改查
约定:
系统名称为培训范例,代码为TR
业务名称为学生信息,代码为STU
以学生信息录入为例,说明单表增删改查业务的建立过程。
1建立数据库表TR_STU
表TR_STU的字段,类型如下表:
字段
类型
注释
ID_STU
VARCHAR2(40)
主键
NUM_STU
VARCHAR2(20)
编号
SEX
VARCHAR2
(2)
性别(码表TR_DD_SEX)
BIRTHDAY
DATE
生日
NATION
VARCHAR2(10)
民族(码表TR_DD_NATION)
ID_CARD
VARCHAR2(18)
身份证
TELEPHONE
VARCHAR2(20)
电话
ZONE
VARCHAR2(10)
地区编码
ORG
VARCHAR2(30)
机构编码
ADDRESS
VARCHAR2(200)
地址
GRADE
VARCHAR2(10)
级别
ISPOOR
VARCHAR2(20)
贫困与否
HOBBY
VARCHAR2(100)
兴趣(码表TR_DD_HOBBY)
ENTRYDATE
DATE
入学日期
HEALTH
VARCHAR2(10)
健康(码表TR_DD_HEALTH)
HEALTHDETAIL
VARCHAR2(400)
健康详情
HEALTHCHECKDATE
DATE
检查日期
POSTNUM
VARCHAR2(6)
邮编
VARCHAR2(40)
REMARK
VARCHAR2(100)
备注
NAME
VARCHAR2(20)
姓名
TM_CREATE
DATE
创建日期
TM_UPDATE
DATE
更新日期
EMPID_CREATE
VARCHAR2(20)
创建者
EMPID_UPDATE
VARCHAR2(20)
修改者
建表可参考如下语句(本语句只供参考,语句中使用的表空间并非指定,可自定义适合的表空间):
--Createtable
createtableTR_STU
(
ID_STUVARCHAR2(40)notnull,
NUM_STUVARCHAR2(20),
SEXVARCHAR2
(2),
BIRTHDAYDATE,
NATIONVARCHAR2(10),
ID_CARDVARCHAR2(18),
TELEPHONEVARCHAR2(20),
ZONEVARCHAR2(10),
ORGVARCHAR2(30),
ADDRESSVARCHAR2(200),
GRADEVARCHAR2(10),
ISPOORVARCHAR2
(2),
HOBBYVARCHAR2(100),
ENTRYDATEDATE,
HEALTHVARCHAR2(10),
HEALTHDETAILVARCHAR2(400),
HEALTHCHECKDATEDATE,
POSTNUMVARCHAR2(6),
EMAILVARCHAR2(40),
REMARKVARCHAR2(400),
NAMEVARCHAR2(20)notnull,
TM_CREATEDATE,
TM_UPDATEDATE,
EMPID_CREATEVARCHAR2(20),
EMPID_UPDATEVARCHAR2(20)
)
tablespaceTB
pctfree10
initrans1
maxtrans255
storage
(
initial64K
minextents1
maxextentsunlimited
);
--Addcommentstothetable
commentontableTR_STU
is'学生信息表';
--Addcommentstothecolumns
commentoncolumnTR_STU.ID_STU
is'PK';
commentoncolumnTR_STU.NUM_STU
is'编号';
commentoncolumnTR_STU.ZONE
is'地区';
commentoncolumnTR_STU.ORG
is'机构';
--Create/Recreateprimary,uniqueandforeignkeyconstraints
altertableTR_STU
addconstraintPK_TR_STUprimarykey(ID_STU)
usingindex
tablespaceTB
pctfree10
initrans2
maxtrans255
storage
(
initial64K
minextents1
maxextentsunlimited
);
2建立Mode类
在src.ie.tr.model下建Students.java,代码如下(省略了部分代码):
packageie.tr.model;
importjava.util.Date;
/**
*StudentsModel类
*@authorzhl
*
*/
publicclassStudentsimplementsjava.io.Serializable{
privateStringidStu;
privateStringname;
privateStringnumStu;
privateStringsex;
privateDatebirthday;
privateStringnation;
privateStringidCard;
privateStringtelephone;
privateStringzone;
privateStringorg;
privateStringaddress;
privateStringgrade;
privateStringisPoor;
privateStringhobby;
privateStringhealth;
privateDateentryDate;
privateStringhealthDetail;
privateStringpostNum;
privateStringemail;
privateDatehealthCheckDate;
privateStringremark;
publicStringgetIdStu(){
returnidStu;
}
publicvoidsetIdStu(StringidStu){
this.idStu=idStu;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
//省略了部分代码
}
说明:
(1)表TR_STU中的字段和Model中的变量名一一对应,且每个变量都要生成getter,setter方法
(2)类,文件的命名要规范,Model的映射文件命名为Students.hbm.xml;Service类命名为StudentsService.java,StudentsServiceImpl.java,Action类命名为StudentsAction.java,查询页面命名为qryStudents.jsp,编辑页面命名为:
edtStudents.jsp等
3建立表和Model类的映射关系
在src.ie.tr.model下建Students.hbm.xml,此文件规定了表中的字段和Model中的变量名一一对应关系,如下(省略了部分代码):
xmlversion="1.0"encoding="UTF-8"?
>
xmlversion="1.0"encoding="utf-8"?
>
DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"
"
--
MappingfileautogeneratedbyMyEclipsePersistenceTools
-->
--
省略了部分代码
-->
说明:
(1)文件头部的内容不可随意改动;
(2)注意xml文件里各个属性都有开始和结束标记;
(3)注意开头要给出表名,Model类的路径
(4)需在配置文件里给出表的主键生成方式,表中每条记录要有一个唯一的标识,为保持主键唯一性,避免并发时出现重复主键,因而主键的生成方式非常关键,Hibernate提供多种主键生成机制,uuid机制基于128位唯一值产生算法生成16进制数值(编码后以长度32的字符串表示)作为主键,是较常用的,尤其适合大量并发操作时避免主键重复。
(5)数据库里的数据类型对应的不同的java数据类型,较常用的对应关系有:
DB2
Java
Varchar
String
Date
Java.util.Date
4建立dao类
在src.ie.tr.dao下建立StudentsDao.java,代码如下
packageie.tr.dao;
importie.bsp.frame.dao.CommonBaseDao;
/**
*dao类
*@authorzhl
*
*/
publicinterfaceStudentsDaoextendsCommonBaseDao{
}
在src.ie.tr.dao下建立StudentsDaoHib.java,代码如下
packageie.tr.dao.hib;
importie.bsp.frame.dao.hib.CommonBaseDaoHib;
importie.tr.dao.StudentsDao;
/**
*Dao实现类
*@authorzhl
*
*/
publicclassStudentsDaoHibextendsCommonBaseDaoHib
implementsStudentsDao{
publicStudentsDaoHib(){
super();
}
}
5建service类
在src.ie.tr.service下建StudentsService.java,接口中定义业务方法,如下:
packageie.tr.service;
importie.tr.model.Students;
/**
*Service接口
*@authorzhl
*
*/
publicinterfaceStudentsService{
/**
*@parammodel
*/
publicvoidsave(Studentsmodel);
/**
*@parammodel
*/
publicvoidedit(Studentsmodel);
/**
*@paramid
*@return
*/
publicStudentsget(Stringid);
/**
*@paramid
*/
publicvoiddelete(Stringid);
}
src.ie.tr.service.impl下建StudentsServiceImpl.java实现接口中的方法,如下:
packageie.tr.service.impl;
importie.tr.dao.StudentsDao;
importie.tr.model.Students;
importie.tr.service.StudentsService;
/**
*service实现类
*@authorzhl
*
*/
publicclassStudentsServiceImplimplementsStudentsService{
/**
*
*/
privateStudentsDaodao;
publicStudentsDaogetDao(){
returndao;
}
publicvoidsetDao(StudentsDaodao){
this.dao=dao;
}
/*(non-Javadoc)
*@seeie.tr.service.StudentsService#delete(java.lang.String)
*/
publicvoiddelete(Stringid){
//dao.excuteSql("deletefromTR_STUtwheret.id_stu='"+id+"'");
Studentsmodel=(Students)dao.get(Students.class,id);
dao.delete(model);
}
/*(non-Javadoc)
*@seeie.tr.service.StudentsService#edit(ie.tr.model.Students)
*/
publicvoidedit(Studentsmodel){
dao.edit(model);
}
/*(non-Javadoc)
*@seeie.tr.service.StudentsService#get(java.lang.String)
*/
publicStudentsget(Stringid){
Studentsmodel=(Students)dao.get(Students.class,id);
returnmodel;
}
/*(non-Javadoc)
*@seeie.tr.service.StudentsService#save(ie.tr.model.Students)
*/
publicvoidsave(Studentsmodel){
dao.save(model);
}
}
6建立action类
在src.ie.tr.action下建StudentsAction.java,action类继承基类BaseEditAction。
注意:
类中的对象和属性,都要生成相应的getter,setter方法;
packageie.tr.action;
importie.bsp.frame.action.BaseEditAction;
importie.bsp.frame.exception.GeneralException;
importie.tr.model.Students;
importie.tr.service.StudentsService;
/**
*Action类
*@authorzhl
*
*/
publicclassStudentsActionextendsBaseEditAction{
StudentsServiceservice;
Studentsstudents;
Stringid;
publicStudentsServicegetService(){
returnservice;
}
publicvoidsetService(StudentsServiceservice){
this.service=service;
}
publicStudentsgetStudents(){
returnstudents;
}
publicvoidsetStudents(Studentsstudents){
this.students=students;
}
publicStringgetId(){
returnid;
}
publicvoidsetId(Stringid){
this.id=id;
}
/*(non-Javadoc)
*@seeie.bsp.frame.action.BaseEditAction#doAddParentInput()
*/
@Override
publicvoiddoAddParentInput()throwsGeneralException{
}
/*(non-Javadoc)
*@seeie.bsp.frame.action.BaseEditAction#doAddParentSubmit()
*/
@Override
publicvoiddoAddParentSubmit()throwsGeneralException{
//TODOAuto-generatedmethodstub
service.save(students);
}
/*(non-Javadoc)
*@seeie.bsp.frame.action.BaseEditAction#doAudit()
*/
@Override
publicvoiddoAudit()throwsGeneralException{
//TODOAuto-generatedmethodstub
}
/*(non-Javadoc)
*@seeie.bsp.frame.action.BaseEditAction#doDelteParentSubmit()
*/
@Override
publicvoiddoDelteParentSubmit()throwsGeneralException{
service.delete(id);
}
/*(non-Javadoc)
*@seeie.bsp.frame.action.BaseEditAction#doEditParentInput()
*/
@Override
publicvoiddoEditParentInput()throwsGeneralException{
//TODOAuto-generatedmethodstub
students=service.get(id);
}
/*(non-Javadoc)
*@seeie.bsp.frame.action.BaseEditAction#doEditParentSubmit()
*/
@Override
publicvoiddoEditParentSubmit()throwsGeneralException{
//TODOAuto-generatedmethodstub
service.edit(students);
}
/*(non-Javadoc)
*@seeie.bsp.frame.action.BaseEditAction#doViewParentSubmit()
*/
@Override
publicvoiddoViewParentSubmit()throwsGeneralException{
//TODOAuto-generatedmethodstub
this.doEditParentInput();
}
}
7建立dao,service,action的spring配置文件
在src.ie.tr.resources.spring下建立applicationContext-dao.xml;applicationContext-service.xml;applicationContext-action.xml;代码如下:
说明:
(1)applicationContext-dao.xml中配置dao的实现;applicationContext-service.xml中配置service类中用到的dao对象的实现;applicationContext-action.xml中配置action类中用到的service对象的实现;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 框架 使用 规范