数据存储层:Oracle
业务层:.Net
UI:Flex
术语:Oracle,.Net,IBatis,Castle,Flex,CodeSmith
建立Oracle数据表
生成代码
用CodeSmith 建立Oracle连接
打开定义好的MapsConfig.cst模板 生成IBatis 使用的 SQLMap SQL定义的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文件
更新命名空间
namespace Ebao51Net.Po.SuppliersModule
更新生成中错误的地方
/// <summary>
/// 0 未启用
1 已启用
2 暂停中
/// </summary>
private Int32 status;
/// <summary>
/// 0 未启用
1 已启用
2 暂停中
/// </summary>
public Int32 Status
{
get{return status;}
set{status = value;}
}
更新后
/// <summary>
/// 0 未启用
/// 1 已启用
/// 2 暂停中
/// </summary>
private Int32 status;
/// <summary>
///
/// </summary>
public Int32 Status
{
get{return status;}
set{status = value;}
}
打开Persistence项目ISuppliersDao.cs与其他项目对比
添加Po的项目引用
using Ebao51Net.Po.SuppliersModule;
替换CodeSmith根据数据表名生成的实体及方法名称,使用当前文件替换成类名即可
修改SuppliersDao.cs文件
更改命名空间和添加引用空间名
using Ebao51Net.Po.SuppliersModule;
using Ebao51Net.Persistence.DataAccess;
namespace Ebao51Net.Persistence.SuppliersModule
替换成员名
打开Service项目的SuppliersManager.cs文件
删除错误的引用
using Payment.Persistence.PayMentModule;
using Payment.Po.PayMentModule;
修改命名空间,添加代码引用
using Ebao51Net.Po.SuppliersModule;
using Ebao51Net.Persistence.SuppliersModule;
namespace Ebao51Net.Services.SuppliersModule
替换
将SuppliersDAO 修改成SuppliersDao 有三处要修改
编译一下整个解决方案,发现有几处错误,不是与刚才的过程有关的,是由于之前其他同事修改造成的
签入一下代码
配置部分
配置 SqlMap.config 添加SQLMap的XML定义,添加:
<!--供应商-->
<sqlMap resource="${root}Suppliers.xml" />
配置 Daos.config 添加定义,
<!--供应商-->
<component id="SuppliersDao" service="Ebao51Net.Persistence.SuppliersModule.ISuppliersDao, Ebao51Net.Persistence" type="Ebao51Net.Persistence.SuppliersModule.SuppliersDao, Ebao51Net.Persistence" >
<parameters>
<commonMapperFactory>${commonMapperFactory}</commonMapperFactory>
</parameters>
</component>
SuppliersDao是在以下用的的名字
namespace Ebao51Net.Services.SuppliersModule
{
public class SuppliersManager : ServiceBase
{
private ISuppliersDao SuppliersDao;
public SuppliersManager()
{
SuppliersDao = GetDao<ISuppliersDao>("SuppliersDao");
}
修改生成的XML需要修改Suppliers.xml 文件,在ServiceUI的Maps目录下
删掉
<typeAlias alias="SuppliersTab" type="IBCS.Domain.ContractUI.Maps.Suppliers, IBCS.Domain" />
换成
<typeAlias alias="Suppliers" type="Ebao51Net.Po.SuppliersModule.Suppliers, Ebao51Net.Po" />
替换
修改
<insert id="Suppliers.Insert" parameterClass="Suppliers">
INSERT INTO PD_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#)
<selectKey resultClass="int" type="pre" property="Id" >
修改这句为下图 --> SELECT SEQ_PD_SUPPLIER.NEXTVAL AS VALUE FROM DUAL
</selectKey>
</insert>
方法功能就是主键自增量
修改Properties.config文件,查看连接数据库字符串是否正确
<settings>
<add key="provider" value="oracleClient2.0"/>
<add key="connectionString" value="Data Source=11;Persist Security Info=True;User ID=11;Password=11;Unicode=True"/>
<add key="root" value="Maps\" />
<add key="assembly" value="ebao51.ServiceUI"/>
</settings>
使用测试
添加一条记录,看一下结果
using Ebao51Net.Services.SuppliersModule;
using Ebao51Net.Po.SuppliersModule;
namespace ServiceUI
{
public partial class EditSuppliers : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SuppliersManager sm = new SuppliersManager();
Suppliers su=new Suppliers();
su.Name = "Name1";
sm.AddSuppliers(su);
}
}
}
分享到:
相关推荐
在31天的时间里,这本笔记系统地介绍了重构的基本理念、原则和C#中的具体实施方法。 重构的核心概念是通过一系列微小的步骤,逐步改善代码质量,避免一次性大规模的修改所带来的风险。在C#中,重构涉及到各种技巧和...
总的来说,这个图书管理系统项目涵盖了软件开发的多个关键领域,包括设计模式、数据库管理、用户交互以及安全性控制,是学习和实践Java Web开发的优秀实例。通过深入研究和分析该项目,不仅可以提升对Java编程和设计...
同时,需要使用迭代的方式参与重构项目,避免全部开发完成,再进行系统切换的方式。 最后,重构需要清晰了解旧系统。了解现有系统是一个学习的过程,需要了解旧系统的相关知识,以及有哪些需求点和应该注意的问题等...
通过对以上案例的学习,我们不仅了解了重构的基本原则和实践方法,还深入探讨了如何通过具体的编码技巧来提高代码质量和系统的整体性能。这些知识对于每一位软件工程师而言都是非常宝贵的,无论是初学者还是资深...
.NET 快速重构学习笔记是针对开发者提升代码质量和可维护性的重要指南。重构是一个系统性的过程,旨在改善软件设计,优化代码结构,而不改变其外在行为。在.NET开发环境中,重构是不可或缺的技能,它可以帮助开发者...
【供应链企业组织结构与业务流程重构】是当前企业面临的重要议题。传统的组织模式通常是基于劳动分工和职能专业化,这种模式在市场稳定时效果显著,但面对现今市场快速变化和供应链管理的需求,其局限性逐渐暴露。 ...
在本话题中,我们将重点关注系统架构中的控制层、项目视图层以及model层的重构,这些都是确保系统性能、可维护性和扩展性的关键环节。 首先,我们来看控制层。控制层是系统架构中的核心部分,负责处理用户输入、...
遗留系统的重构与维护是软件...对于遗留系统重构与维护课程讲义,除了上述提到的内容,还应该包含大量的实例、最佳实践、策略和技巧,以便于学习者能够更好地理解和运用重构与维护的理论知识,并将其应用于实际工作中。
《剖析业务架构与业务系统重构实践》
重构是软件开发过程中的一个重要环节,它涉及到对现有代码的改进,目的是为了提高代码的可读性、可维护性和设计质量,而不改变其外部行为。本文主要围绕重构的关键概念、原则、时机以及面临的挑战展开讨论。 首先,...
代码重构开发技术学习路线图,从入门到架构师学习路线
### 业务架构与业务系统重构实践 #### 一、业务架构与业务系统重构的重要性 在当前快速变化的商业环境中,企业面临着不断增长的市场需求和技术挑战。为了更好地应对这些挑战,提高企业的竞争力,业务架构和业务...
系统重构是软件开发中不可或缺的一部分,它不仅能提升代码质量,还能增强系统的可维护性和可扩展性。通过遵循一定的原则和方法,可以有效地降低重构过程中的风险,并确保重构活动的成功实施。对于软件开发者来说,...
【基于教材重构的深度学习】是指在教学过程中,教师通过深入理解和分析教材,将课程内容按照知识结构重新组织,以促进学生的深度学习。这一方法强调在教学中关注知识的本质,运用数学思想,以及通过问题试误来放大...
在IT行业中,软件重用和系统重构是两个关键的概念,它们对于提高开发效率、降低维护成本以及提升软件质量具有至关重要的作用。让我们深入探讨这两个主题。 **软件重用(Software Reuse)** 软件重用是将已开发的、...
4. **Service层**:在员工管理系统中,Service层是业务逻辑层,通常与DAO层(数据访问对象)交互,处理数据操作。可以使用Spring的依赖注入(DI)功能将Service实例注入到Controller中。 5. **Repository/DAO接口**...
《重构》是一本深入探讨软件开发过程中的代码优化与改进的经典著作。重构,简单来说,是在不改变软件外部行为的前提下,对其内部结构进行改进,以提高代码的可读性、可维护性和可扩展性。这一过程并非依赖于个人天赋...
重构是软件开发中的一种重要实践,旨在提升代码的可读性、可维护性和设计质量,同时保持原有功能的不变。本文以"重构代码笔记1"为出发点,深入探讨了24种常见的代码坏味道及其对应的重构策略。 首先,神秘命名...
在编程和软件开发领域,大规模软件重用和系统重构是两个至关重要的概念,它们对于提高开发效率、降低维护成本以及确保软件质量具有显著作用。在这个课件中,我们将深入探讨这两个主题,帮助学习者理解如何在实践中...