项目开发过程注意事项.docx

上传人:b****5 文档编号:7345675 上传时间:2023-01-23 格式:DOCX 页数:28 大小:305.96KB
下载 相关 举报
项目开发过程注意事项.docx_第1页
第1页 / 共28页
项目开发过程注意事项.docx_第2页
第2页 / 共28页
项目开发过程注意事项.docx_第3页
第3页 / 共28页
项目开发过程注意事项.docx_第4页
第4页 / 共28页
项目开发过程注意事项.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

项目开发过程注意事项.docx

《项目开发过程注意事项.docx》由会员分享,可在线阅读,更多相关《项目开发过程注意事项.docx(28页珍藏版)》请在冰豆网上搜索。

项目开发过程注意事项.docx

项目开发过程注意事项

项目开发流程及注意事项

一、开发环境

(1)开发工具:

eclipse

(2)数据库:

Oracle

(3)导入代码格式化模板

1.java代码格式化模板

导入java_formatter.xml

Window→Preferences→Java→CodeStyle→Formatter→ImportProfile

2.javascript代码格式化模板

导入javascript_formatter.xml

Window→Preferences→JavaScript→CodeStyle→Formatter→ImportProfile

 

二、开发流程及注意事项

(1)创建数据库

1.建立表空间

createtablespacetablespace_name

logging

datafile'D:

\oracle\Administrator\oradata\orcl\tablespace_name.dbf'

size200m

autoextendon

next10mmaxsizeunlimited

extentmanagementlocal;

2.建立数据库用户

createuseruser_nameidentifiedbyuser_password

defaulttablespacetablespace_name;

grantconnect,resourcetouser_name;

grantdbatouser_name;

3.为用户分配表空间

revokeunlimitedtablespacefromuser_name;

alteruseruser_namequotaunlimitedontablespace_name;

4.创建项目开发所需表

createtabletable_name(

column_namedata_type

创建表也可以使用PL/SQLDeveloper工具通过图形界面来创建表.

(2)后台代码编写(SpringMVC+Mybatis)

1.通过配置文件自动生成domaindao和数据库映射文件

配置mars→src→marsGeneratorConfig.xml文件

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEgeneratorConfiguration

PUBLIC"-//mybatis.org//DTDMyBatisGeneratorConfiguration1.0//EN"

"http:

//mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

--数据库连接开发包位置-->

\program\mars\WebContent\WEB-INF\lib\ojdbc6.jar"/>

--去除自动生成的注释-->

--数据库连接-->

oracle:

thin:

@127.0.0.1:

1521:

orcl"

userId="mars"password="mars">

--domain生成位置-->

--数据库映射文件生成位置-->

-- enableSubPackages:

是否让schema作为包的后缀 -->    

--DAO生成位置-->

--type:

XMLMAPPER,ANNOTATEDMAPPER-->

--数据库表-->

运行bulid-mybatis.xml文件

xmlversion="1.0"encoding="UTF-8"?

>

自动生成domain文件

com.newheyd.practice.domain.Practice.javacom.newheyd.practice.domain.PracticeExample.java

自动生成dao文件

com.newheyd.practice.dao.PracticeMapper.java

PracticeMapperextendsIMapperDAO接口继承IMapper接口DAO中的接口实现类即可自动被mybatis注册

自动生成数据库映射文件config.mapper.practice.PracticeMapper.xml

service

service接口

packagecom.newheyd.practice.service;

publicinterfaceIPracticeService{

publicintinsert(Practicepractice);

publicintupdate(Practicepractice);

publicintdelete(PracticeExamplepracticeExample);

publicListselect(PracticeExamplepracticeExample);

publicintcount(PracticeExamplepracticeExample);

publicPracticeselectByPrimaryKey(Longi);

…..//根据项目需求自行添加方法

}

service接口实现类

packagecom.newheyd.practice.service.impl;

@Service

publicclassPracticeServiceImplextendsBaseServiceimplementsIPracticeService{

@Resource

privatePracticeMapperpracticeMapper=null;

@Override

publicintinsert(Practicepractice){

returnpracticeMapper.insert(practice);

}

@Override

publicintupdate(Practicepractice){

intresult=practiceMapper.updateByPrimaryKeySelective(practice);

returnresult;

}

@Override

publicintdelete(PracticeExamplepracticeExample){

intresult=practiceMapper.deleteByExample(practiceExample);

returnresult;

}

@Override

publicListselect(PracticeExamplePracticeExample){

returnpracticeMapper.selectByExample(PracticeExample);

}

@Override

publicintcount(PracticeExamplePracticeExample){

intresult=practiceMapper.countByExample(PracticeExample);

returnresult;

}

@Override

publicPracticeselectByPrimaryKey(Longid){

returnpracticeMapper.selectByPrimaryKey(id);

}

}

controller

packagecom.newheyd.practice.controller;

@Controller

@RequestMapping("/practice")

publicclasspracticeControllerextendsBaseController{

@Resource

privatefinalIPracticeServicepracticeService=null;

@RequestMapping("/list")

@ResponseBody

publicResultlist(StringtestName,StringtestUser,Pagepage){

PracticeExamplepracticeExample=newPracticeExample();

Criteriac=practiceExample.or();

if((testName!

=null)&&!

("".equals(testName))){

c.andTestNameLike(testName);

}

if((testUser!

=null)&&!

("".equals(testUser))){

c.andTestUserLike(testUser);

}

practiceExample.setOrderByClause("pra.iddesc");

practiceExample.setPage(page);//将分页类set入查询条件类,若不set则无分页

Listlist=practiceService.select(practiceExample);

//System.out.println(list.size());

returnnewListResult(page.getTotalRecord(),list);

}

@RequestMapping("/save")

@ResponseBody

publicResultsave(@RequestBodyPracticepractice){

practice.setTestName(practice.getTestName());

practice.setTestUser(getCurrentUser().getName());

practice.setTestState(practice.getTestName());

practice.setTestDate(newDate());

practiceService.insert(practice);

returnnewOperResult(true,"保存成功!

");

}

@RequestMapping("/update")

@ResponseBody

publicResultupdate(@RequestBodyPracticepractice){

if(practice.getId()!

=null){

practiceService.update(practice);

}

returnnewOperResult(true,"更新成功!

");

}

@RequestMapping("/delete")

@ResponseBody

publicResultdelete(@RequestBodyListids)throwsMarsException{

PracticeExamplepracticeExample=newPracticeExample();

practiceExample.or().andIdIn(ids);

practiceService.delete(practiceExample);

returnnewOperResult(true,"删除成功!

");

}

}

方法介绍

list:

列表查询,参数:

查询条件,page对象

save:

添加保存,参数:

新增的对象

update:

修改保存,参数:

修改的对象

delete:

删除,参数:

删除的对象ID

(3)前台代码编写(ExtJS4)

1.model

Ext.define('MARS.model.practice.PracticeModel',{

extend:

'Ext.data.Model',

fields:

[{

name:

'id',

type:

'Long',

sortable:

true

},{

name:

'testName',

type:

'string',

sortable:

true

},{

name:

'testDate',

type:

'Date',

convert:

function(value){

vard=null;

if(value!

=null){

d=newDate();

d.setTime(value);

}

returnd;

}

},{

name:

'testUser',

type:

'String',

sortable:

true

},{

name:

'testState',

type:

'String',

sortable:

true

}

]

}

2.store

Ext.define('MARS.store.practice.PracticeStore',{

extend:

'MARS.store.BaseStore',

model:

'MARS.model.practice.PracticeModel'

});

view

添加页面

Ext.define('MARS.view.pratice.PracticeAdd',{

extend:

'Ext.form.Panel',

alias:

'widget.practiceadd',

buttonAlign:

'center',

frame:

true,

defaultType:

'textfield',

items:

[{

name:

'testName',

fieldLabel:

'测试名称',

afterLabelTextTpl:

'*',

allowBlank:

false

},{

name:

'testUser',

fieldLabel:

'测试用户',

afterLabelTextTpl:

'*',

allowBlank:

false

},{

name:

'testState',

fieldLabel:

'测试状态',

afterLabelTextTpl:

'*',

allowBlank:

false

},

{

xtype:

'datefield',

name:

'testDate',

fieldLabel:

'测试时间',

format:

'Y-m-d',

editable:

false

}

],

buttons:

[{

text:

'提交',

formBind:

true,//所有验证都通过后才可点击

disabled:

true,

action:

'create'

},{

text:

'重置',

handler:

function(){

this.up('form').getForm().reset();

}

}]

});

编辑页面

Ext.define('MARS.view.practice.PracticeEdit',{

extend:

'Ext.panel.Panel',

alias:

'widget.practiceedit',

buttonAlign:

'center',

frame:

true,

defaultType:

'textfield',

items:

[{

xtype:

'hidden',

name:

'id'

},{

name:

'testName',

fieldLabel:

'测试名称',

afterLabelTextTpl:

'*',

allowBlank:

false

//表单项只读

},{

name:

'testUser',

fieldLabel:

'测试用户',

afterLabelTextTpl:

'*',

allowBlank:

false

},{

name:

'testState',

fieldLabel:

'测试状态',

afterLabelTextTpl:

'*',

allowBlank:

false

},{

xtype:

'datefield',

name:

'testDate',

fieldLabel:

'测试时间',

format:

'Y-m-d',

editable:

false

}

],

buttons:

[{

text:

'提交',

formBind:

true,//所有验证都通过后才可点击

disabled:

true,

action:

'update'

},{

text:

'重置',

handler:

function(){

this.up('form').getForm().reset();

}

}]

});

展示页面

Ext.define('MARS.view.practice.practiceView',{

extend:

'Ext.panel.Panel',

alias:

'widget.practiceview',

buttonAlign:

'center',

frame:

true,

items:

[{

xtype:

'fieldset',

title:

'基本信息',

items:

[{

xtype:

'hidden',

name:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1