FTPC ORM

       在FTPC中,将一样的处理代码即业务逻辑和可能不一样的处理即数据存取逻辑分离开来,所有业务对象对应到数据库中的数据表,开发者不需要直接去操作数据表,只需对业务对象操作即可,简化了开发难度,因此代码量能减少30%-50%。

       尽管FTPC的ORM也存在一定的系统开销,但是相对于关系型数据库的遍历开销和数据库的连接开销,FTPC将所有业务对象加载到内存中处理,异步更新其对应于数据库中的数据,加快了业务逻辑处理效率,比一般的Server同步读写数据库更快,同时也降低了数据库特有SQL的依赖性,提高了数据库的可移植性。

Data Handler类

       1、 数据处理(DataHandler)程序类处理存储和获取数据传输对象(DTO)到数据库表的逻辑。

       2、会话bean(Session Bean)利用这些DataHandler程序类直接通过JDBC访问数据库。

       3、Plant Operations不使用实体bean和容器管理的持久性。数据传输对象(DTO)是一组用来传递所有必要信息的类。旨在以一种特别适合在系统的不同层之间传递的简单格式来传递关于每种类型的 Plant Operations对象的所有必要信息。

       4、对于某些类型的数据,数据被缓存到中间层,而这种数据很少发生变化。这些数据缓存的设计目的是通过数据库的协调来维护多个应用服务器之间的一致性。

       下图为DataHandler在系统架构中所处层级:

       

Database Agent类

       DataHandler类通过Database Agent对象构件SQL语句,通过JDBC执行SQL语句存储、获取或删除数据。将通过JDBC获取的ResultSet结果填充到数据传输对象(DTO)中。

       DataHandler类直接通过JDBC操作数据库,构件数据传输对象,这样可以不依赖于任何JPA框架达到ORM的目的。整体来看服务端的实现还是比较复杂,修改或扩展的代价或成本也会比较高。也许因为这样,或则目前FTPC提供的对象已经足够制造业使用以及扩展,因此目前已经很少再看到通过修改服务端来扩展其他对象,而是通过AT Definition构件业务对象。但对基于FTPC的业务系统开发,因为可以通过AT Definition构件业务对象,完全脱离了数据库表,只操作业务对象,还是比较方便。

       Database Agent提供了构件SQL的以下类:

  • 数据操纵语言(DML)主要包括:Insert Statement、Update Statement、Delete Statement
  • 数据定义语言(DDL)主要包括:Create Table Statement、Alter Table Statement、Alter Table Modify Column Statement、Create Index Statement、Callable Statement
  • 数据查询语言(DQL)主要包括:Select Statement、Filter、Join

       下图描述了Database Agent主要类:

       

发布了50 篇原创文章 · 获赞 64 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/panjin72/article/details/89702225
Orm
今日推荐