普元EOS-数据实体、SDO接口和实现类、DataObject都是什么?

1 前言

各位同学一定对ORM概念不陌生,一般使用的MyBatis和Hibernate都是非常优秀的ORM框架。

在ORM框架中,有个很好的概念就是将数据表与Java Bean对应起来,从而实现操作Java对象就实现了对数据库的操作。

在普元EOS中也提供了ORM的工具,并且是可视化的。

2 数据实体是什么样的?

在普元EOS的高开和低开IDE中,都提供了从数据表直接生成数据实体的功能。

本文以EOS高开IDE中,从一个数据表创建数据实体的操作,从而形象化数据实体。

2.1 在EOS高开IDE的Database connection中创建数据库连接

关于Database connection中创建数据库连接的具体方法,可以见我的文章《普元EOS学习笔记-高低开结合方式实现图书的增删改查》。

数据库连接创建后,可以看到数据库下的数据表。

2.2 创建EOS的数据集 Dataset

EOS的数据集感觉是一个容器的概念。

是用来承载数据实体的容器。

样子看起来是下图这样子

建议在项目的model构件中创建数据集。

2.3 拖拽数据表到结果集的窗口,创建数据实体

从下图可以看到,从Database connection中找到数据表,拖拽到数据集的窗口,就创建出数据实体了。

2.4 数据集和数据实体的格式

EOS数据集和数据实体,在存储上看,都是xml文件。

下图是其中的一部分xml代码。

3 SDO接口和实现类

SDO接口就是一个普通Java接口(interface)。哦,也不普通,它一定是继承自DataObject的

SDO实现类是一个Java类,实现了SDO接口。

在EOS开发中,操作数据都是基于数据实体的,高低开都是存在数据实体的,从数据实体可以生成SDO接口和实现类。

因此,EOS开发中想要操作一个数据表的数据,先要创建数据实体。但不一定非要生成SDO接口和实现类。

在普元EOS的IDE中,找到数据实体,右键,找到创建SDO代码,就会自动生成对应的SDO接口和SDO实现类。

从文件夹结构上,数据集和SDO的关系看起来是下面这样的

UserDataset.datasetx :是一个xml文件,记录了数据集和数据实体。在其中我创建了一个TUserDevops的数据实体,这个TUserDevops数据实体是从数据表 t_user_devops生成的。

TUserDevops接口: 是一个Java接口,这是我基于 TUserDevops数据实体类生成的,继承自 DataObject。这个DataObject是EOS提供的一个接口。 commonj.sdo.DataObject 接口。

TUserDevopsImpl实现类: 也是一个Java类,具体的不多说了。

在EOS高开的时候,各种数据库的操作都是基于EOS提供的系列数据库操作类实现的,比如:

com.eos.foundation.database.DatabaseUtil

com.eos.spring.dao.DatabaseDao

com.primeton.spring.support.DatabaseExt

这些类都是基于数据实体、SDO接口和实现类来进行数据操作的。

4 DataObject

这个DataObject完整的写法是 

commonj.sdo.DataObject

这是EOS内置的一个接口,所有数据ORM都是基于该接口实现的。

比如在MyBatis中数据表实体类,就是一个普通的Java类,不需要继承什么类或实现什么接口。

Hibernate的实体类,也不需要特别设计,就是一个普通Java类。

普元的数据实体是需要继承自DataObject的。

至于DataObject有什么优秀的特性,我以后慢慢再完善吧,大家现有一个大概的印象即可。

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小崔爱读书

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值