系统业务层重构开发笔记(学习别人补充自己)
2009-10-27 11:37
405 查看
数据存储层:Oracle
业务层:.Net
UI:Flex
术语:Oracle,.Net,IBatis,Castle,Flex,CodeSmith
建立Oracle数据表
打开定义好的MapsConfig.cst模板生成IBatis使用的SQLMapSQL定义的XML文件
把另存为的XML文件,重新命名复制到UI项目的Maps目录下
再选择下面模板文件生成,方式一样都是选择相同的表
ServiceTemplate.cst
DaoTemplate.cst
IDaoTemplate.cst
DoMainTemplate.cst
把Dao和IDao文件复制到的相应项目新建目录下
把Service文件复制到相应的项目新建目录下
把DoMainTemplate.cst复制到Po项目中
将生成好的文件也改名字,与原有系统命名一致,开始项目调试,此时编译会出错。
可以右键编辑删除这个项目的csproj文件中冲突的部分,再重新加载项目即可成功。
2.SVN在提交的时候遇到冲突的问题
可以右键红色的冲突项目,选择回滚或者更新至最新版本尝试
提交和更新完版本之后,开始调试项目中刚刚加入的文件
打开Po项目中的Suppliers.cs文件
更新命名空间
更新生成中错误的地方
更新后
打开Persistence项目ISuppliersDao.cs与其他项目对比
添加Po的项目引用
替换CodeSmith根据数据表名生成的实体及方法名称,使用当前文件替换成类名即可
修改SuppliersDao.cs文件
更改命名空间和添加引用空间名
替换成员名
打开Service项目的SuppliersManager.cs文件
删除错误的引用
修改命名空间,添加代码引用
将SuppliersDAO修改成SuppliersDao有三处要修改
编译一下整个解决方案,发现有几处错误,不是与刚才的过程有关的,是由于之前其他同事修改造成的
签入一下代码
配置SqlMap.config添加SQLMap的XML定义,添加:
修改生成的XML需要修改Suppliers.xml文件,在ServiceUI的Maps目录下
删掉
替换
修改
修改Properties.config文件,查看连接数据库字符串是否正确
业务层:.Net
UI:Flex
术语:Oracle,.Net,IBatis,Castle,Flex,CodeSmith
建立Oracle数据表
生成代码
用CodeSmith建立Oracle连接打开定义好的MapsConfig.cst模板生成IBatis使用的SQLMapSQL定义的XML文件
把另存为的XML文件,重新命名复制到UI项目的Maps目录下
再选择下面模板文件生成,方式一样都是选择相同的表
ServiceTemplate.cst
DaoTemplate.cst
IDaoTemplate.cst
DoMainTemplate.cst
把Dao和IDao文件复制到的相应项目新建目录下
把Service文件复制到相应的项目新建目录下
把DoMainTemplate.cst复制到Po项目中
将生成好的文件也改名字,与原有系统命名一致,开始项目调试,此时编译会出错。
开始调试
1.SVN在更新项目的时候如果把csproj项目文件冲突之后,会造成项目加载不起来可以右键编辑删除这个项目的csproj文件中冲突的部分,再重新加载项目即可成功。
2.SVN在提交的时候遇到冲突的问题
可以右键红色的冲突项目,选择回滚或者更新至最新版本尝试
提交和更新完版本之后,开始调试项目中刚刚加入的文件
打开Po项目中的Suppliers.cs文件
更新命名空间
namespaceEbao51Net.Po.SuppliersModule
更新生成中错误的地方
///<summary> ///0未启用 1已启用 2暂停中 ///</summary> privateInt32status; ///<summary> ///0未启用 1已启用 2暂停中 ///</summary> publicInt32Status { get{returnstatus;} set{status=value;} }
///<summary> ///0未启用 ///1已启用 ///2暂停中 ///</summary> privateInt32status; ///<summary> /// ///</summary> publicInt32Status { get{returnstatus;} set{status=value;} }
打开Persistence项目ISuppliersDao.cs与其他项目对比
添加Po的项目引用
usingEbao51Net.Po.SuppliersModule;
替换CodeSmith根据数据表名生成的实体及方法名称,使用当前文件替换成类名即可
修改SuppliersDao.cs文件
更改命名空间和添加引用空间名
usingEbao51Net.Po.SuppliersModule; usingEbao51Net.Persistence.DataAccess; namespaceEbao51Net.Persistence.SuppliersModule
替换成员名
打开Service项目的SuppliersManager.cs文件
删除错误的引用
usingPayment.Persistence.PayMentModule; usingPayment.Po.PayMentModule;
usingEbao51Net.Po.SuppliersModule; usingEbao51Net.Persistence.SuppliersModule; namespaceEbao51Net.Services.SuppliersModule
替换
将SuppliersDAO修改成SuppliersDao有三处要修改
编译一下整个解决方案,发现有几处错误,不是与刚才的过程有关的,是由于之前其他同事修改造成的
签入一下代码
配置部分
配置SqlMap.config添加SQLMap的XML定义,添加:
<!--供应商--> <sqlMapresource="${root}Suppliers.xml"/>
配置Daos.config添加定义,
<!--供应商-->
<componentid="SuppliersDao"service="Ebao51Net.Persistence.SuppliersModule.ISuppliersDao,Ebao51Net.Persistence"type="Ebao51Net.Persistence.SuppliersModule.SuppliersDao,Ebao51Net.Persistence">
<parameters>
<commonMapperFactory>${commonMapperFactory}</commonMapperFactory>
</parameters>
</component>
SuppliersDao是在以下用的的名字
namespaceEbao51Net.Services.SuppliersModule
{
publicclassSuppliersManager:ServiceBase
{
privateISuppliersDaoSuppliersDao;
publicSuppliersManager()
{
SuppliersDao=GetDao<ISuppliersDao>("SuppliersDao");
}
修改生成的XML需要修改Suppliers.xml文件,在ServiceUI的Maps目录下
删掉
<typeAliasalias="SuppliersTab"type="IBCS.Domain.ContractUI.Maps.Suppliers,IBCS.Domain"/>
换成
<typeAliasalias="Suppliers"type="Ebao51Net.Po.SuppliersModule.Suppliers,Ebao51Net.Po"/>
替换
修改
<insertid="Suppliers.Insert"parameterClass="Suppliers">
INSERTINTOPD_SUPPLIERS_TAB(ID,INSURE_ID,CODE,NAME,SHORT_NAME,PROVINCE,CITY,AREA,STATUS,REMARK,CREATE_TIME,UPDATE_TIME,PHONE,LINKMAN,BANKNAME,BANKNUMBER,CLEARINGMODE,COOPERATEMODE)
VALUES(#Id#,#InsureId#,#Code#,#Name#,#ShortName#,#Province#,#City#,#Area#,#Status#,#Remark#,#CreateTime#,#UpdateTime#,#Phone#,#Linkman#,#Bankname#,#Banknumber#,#Clearingmode#,#Cooperatemode#)
<selectKeyresultClass="int"type="pre"property="Id">
修改这句为下图-->SELECTSEQ_PD_SUPPLIER.NEXTVALASVALUEFROMDUAL
</selectKey>
</insert>
方法功能就是主键自增量
修改Properties.config文件,查看连接数据库字符串是否正确
<settings>
<addkey="provider"value="oracleClient2.0"/>
<addkey="connectionString"value="DataSource=11;PersistSecurityInfo=True;UserID=11;Password=11;Unicode=True"/>
<addkey="root"value="Maps\"/>
<addkey="assembly"value="ebao51.ServiceUI"/>
</settings>
使用测试
添加一条记录,看一下结果usingEbao51Net.Services.SuppliersModule;
usingEbao51Net.Po.SuppliersModule;
namespaceServiceUI
{
publicpartialclassEditSuppliers:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
SuppliersManagersm=newSuppliersManager();
Supplierssu=newSuppliers();
su.Name="Name1";
sm.AddSuppliers(su);
}
}
}
相关文章推荐
- 系统业务层重构开发笔记(学习别人补充自己)
- 系统业务层重构开发笔记(学习别人补充自己)
- 软件工程革命三部曲 —— 系统开发的业务部分重构在思考。
- spss C# 二次开发 学习笔记(五)——Spss系统集成模式
- cocos2dx游戏开发学习笔记(六)之坐标系统
- 根据自己的需要,把别人开发好的东西搬过来,优化and重构,在优化的过程中,甚至也会弄出一套全新的东西(转)
- 《嵌入式linux应用程序开发完全手册》系统时钟和定时器学习笔记
- 分布式应用系统服务器上下线动态感知程序开发学习笔记
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第十课:Cocos2D-X坐标系统1
- 黑马程序员之项目开发学习笔记:酒店管理系统(HotelManager)
- OAF学习笔记-20-在系统页面制作Tab页(系统中有Tab页,自己增加Tab)
- OAF学习笔记-20-在系统页面制作Tab页(系统中有Tab页,自己增加Tab)
- 软件项目管理在具体业务软件系统开发中的重要作用——学习篇(五)
- 移动开发:S5PV210学习笔记——内核移植与文件系统构建
- 项目实战学习笔记| OpenGl C++语言开发小行星系统 | 实验楼项目
- 私房库视频学习笔记-小清新BBS系统开发技术归纳
- Android开发学习笔记(十二) 获取系统可用内存
- OAF学习笔记-20-在系统页面制作Tab页(系统中有Tab页,自己增加Tab)
- OAF学习笔记-20-在系统页面制作Tab页(系统中有Tab页,自己增加Tab)
- 【wp开发学习笔记】之调用系统搜索引擎