首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Oracle频道
中国IT教育
Google
首页 入门基础 安装配置 体系架构 PLSQL 备份恢复 性能调优 开发技术 资讯动态 考试认证 下载 专题 讨论
您现在的位置: 中国IT实验室 >> Oracle >> 入门基础 >> 正文

数据库与面向对象是冤家

  发挥面向对象和数据库的特点

  方法:声明一个Entity类和一个业务逻辑类

  数据处理:手写SQL

  数据容器:插入、更新 、传递单条记录使用Entity对象,一组记录使用数据库控件

// 客户Entity 
  class CustomerEntity
  {
  public int Id;
  public string Name;
  }
  // 客户类
  class Customer
  {
  private int Id;
  //构造
  public Customer(int Id)
  {
  this.Id = Id;
  }
  // 输入客户信息
  public bool Insert(CustomerEntity CustEntity)
  {
  }
  // 更新客户信息
  public bool Update(CustomerEntity CustEntity)
  {
  }
  //删除客户信息
  public bool Delete()
  {
  }
  //获得客户信息
  public CustomerEntity GetInfo()
  {
  }
  //获得客户列表
  public DataSet GetList()
  {
  }
  }

  优点

  - 能发挥面向对象和数据库各自的特点

  - 代码效率高

  缺点

  - 需要比较全面的面向对象理论

  - 使用了Entity类,需要自动生成工具

  使用O/R Mapping 工具

  方法:使用O/R Mapping工具

  数据处理:O/R Mapping 工具自动处理

  数据容器:对象

// 客户类 
  class Customer
  {
  public int Id;
  public string Name;
  // 输入客户信息
  public bool Insert(CustomerEntity CustEntity)
  {
  }
  // 更新客户信息
  public bool Update(CustomerEntity CustEntity)
  {
  }
  //删除客户信息
  public bool Delete()
  {
  }
  //获得客户信息
  public CustomerEntity GetInfo()
  {
  }
  //获得客户列表
  public IList GetList()
  {
  }
  }

  优点

  - 能发挥面向对象特点

  - 可以自动把对象模型转换到数据模型

  - 能自动处理,简单的CURD

  缺点

  - 需要很高的能力和耐心

  - 流行的O/R Mapping 工具都是开源出来的,没有保障

  - 还不是很完善,存在不可预测的危险

  - 对于处理复杂的对象关系,配置复杂

  - 需要额外学习O/R Mapping 方面的知识

  那到底该用什么样的方式?

  采用什么样的方式,实际上说,主要还是在人,而不是在技术。确定使用哪种方式之前,可以考虑以下几个问题,

  - 使用它的目的是什么?

  - 对它了如指掌吗?如果出现问题,能马上解决吗?

  - 它简单吗?初学的人需要多长时间,才能掌握?

  - 跟所有人达成共识了吗?有没有抵触的人?

  不要让项目成为你练手的试验品,不要让底下的人每天处理80%的工具问题,只处理20%的业务逻辑。业务逻辑才是客户需要的东西。

上一页  [1] [2] 

【责编:John】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Oracle频道相关导航