cdoframework系列介绍1:CDO对象说明
来源:互联网 发布:传智播客java视频 编辑:程序博客网 时间:2024/06/05 00:15
CDO的全称是Common Data Object,中文翻译为“通用数据对象”,CDO是CDO技术框架的核心概念,可以说,理解了CDO,就已经掌握了50%的CDO技术框架的内容。
CDO可以理解成是一种万能的数据结构,可以用于存储各种类型的数据。同时,CDO又是一种XML化的数据结构,任何一个CDO对象都可以和特定格式的XML文本互相转换。
CDO采用可嵌套的Hash表存储数据,而内部每个存储的数据项的Key均为String类型,Value则既可以为bool,byte,short,integer,long,float,double,String,Date,Time,DateTime等基本类型,也可以为上述基本类型的数组bool[],byte[],short[],integer[],long[],float[],double[],String[],Date[],Time[],DateTime[],而且也可以为CDO或CDO[]。
1.1 CDO的XML格式
比如,我们用一个CDO对象来存储某公司员工张三的相关信息,该CDO对象对应的XML文本如下:
<?xml version="1.0" encoding="UTF-8"?>
<CDO xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation=" http://www.cdoframework.com/xsd/CDO.xsd">
<StringField Name="Id" Value="A001"/>
<StringField Name="Name" Value="张三"/>
<DateField Name="Birthday" Value="1980-01-01"/>
<StringField Name="DepartmentId" Value="D21"/>
<StringField Name="Title" Value="部门经理"/>
<IntegerArrayField Name="MonthSalarys">
<Integer>5000</Integer>
<Integer>5000</Integer>
<Integer>5000</Integer>
<Integer>5200</Integer>
<Integer>5200</Integer>
<Integer>5200</Integer>
<Integer>5500</Integer>
<Integer>5500</Integer>
<Integer>5500</Integer>
</IntegerArrayField>
<CDOArrayField Name="DepartmentMembers">
<CDO>
<StringField Name="Id" Value="A002"/>
<StringField Name="Name" Value="李四"/>
<DateField Name="Birthday" Value="1981-01-01"/>
<StringField Name="DepartmentId" Value="D21"/>
<StringField Name="Title" Value="工程师"/>
<IntegerArrayField Name="MonthSalarys">
<Integer>2000</Integer>
<Integer>2000</Integer>
<Integer>2000</Integer>
<Integer>2200</Integer>
<Integer>2200</Integer>
<Integer>2200</Integer>
<Integer>2500</Integer>
<Integer>2500</Integer>
<Integer>2500</Integer>
</IntegerArrayField>
</CDO>
<CDO>
<StringField Name="Id" Value="A003"/>
<StringField Name="Name" Value="王五"/>
<DateField Name="Birthday" Value="1982-01-01"/>
<StringField Name="DepartmentId" Value="D21"/>
<StringField Name="Title" Value="工程师"/>
<IntegerArrayField Name="MonthSalarys">
<Integer>1000</Integer>
<Integer>1000</Integer>
<Integer>1000</Integer>
<Integer>1200</Integer>
<Integer>1200</Integer>
<Integer>1200</Integer>
<Integer>1500</Integer>
<Integer>1500</Integer>
<Integer>1500</Integer>
</IntegerArrayField>
</CDO>
<CDO>
<StringField Name="Id" Value="A001"/>
<StringField Name="Name" Value="赵六"/>
<DateField Name="Birthday" Value="1983-01-01"/>
<StringField Name="DepartmentId" Value="D21"/>
<StringField Name="Title" Value="工程师"/>
<IntegerArrayField Name="MonthSalarys">
<Integer>1000</Integer>
<Integer>1000</Integer>
<Integer>1000</Integer>
<Integer>1200</Integer>
<Integer>1200</Integer>
<Integer>1200</Integer>
<Integer>1500</Integer>
<Integer>1500</Integer>
<Integer>1500</Integer>
</IntegerArrayField>
</CDO>
</CDOArrayField>
</CDO>
在上面的代码中,我们可以:
用Title当作Key获取张三的职位;
用MonthSalarys[0]当作Key获取张三最近一个月的薪水数额;
用DepartmentMembers[1]. MonthSalarys[0]当作Key获取张三的第二个下属员工的最近一个月的薪水数额。
同样,我们也可以用相同的Key设置对应的数据值。
1.2 利用代码访问CDO对象
下面,我们看看如果有必要的化,我们如何利用Java创建对应的CDO对象(实际开发当中,应用框架能基本避免大多数类似的代码):
CDO cdoEmployee=new CDO();
cdoEmployee.setStringValue("Id","A001");
cdoEmployee.setStringValue("Name","张三");
//…;
int[] nsMonthSalarys=new int[9];
nsMonthSalarys[0]=5000;
//…;
cdoEmployee.setIntegerArrayValue("MonthSalarys", nsMonthSalarys);
CDO[] cdosDepartmentMembers=new CDO[3];
cdosDepartmentMembers[0].setStringValue("Id","A002");
cdosDepartmentMembers[0].setStringValue("Name","李四");
//…;
nsMonthSalarys=new int[9];
nsMonthSalarys[0]=2000;
//…;
cdosDepartmentMembers[0].setIntegerArrayValue("MonthSalarys", nsMonthSalarys);
//…;
cdoEmployee.setCDOArrayValue("DepartmentMembers",cdosDepartmentMembers);
对象生成之后,可以利用下面的代码获取相关数据:
cdoEmployee.getStringValue("Name");//返回 张三
cdoEmployee.getInteger("MonthSalarys[0]");//返回 5000
cdoEmployee.getInteger("DepartmentMembers[0].Name");//返回 李四
cdoEmployee.getInteger("DepartmentMembers[0].MonthSalarys[0]");//返回 2000
对象生成之后,下面的代码输出上面的XML文本内容:
其实,如果有了上面的XML文本内容,我们可以直接利用下面的代码生成Java对象:
CDO cdoEmployee=CDO.fromXML(strXML);
cdoframework的官方网站:http://www.cdoframework.com
- cdoframework系列介绍1:CDO对象说明
- cdoframework系列介绍3:Return对象说明
- cdoframework系列介绍2:CDO技术框架的体系结构
- cdoframework系列介绍4:通用事务调用接口
- CDO大型应用开发框架CDOFramework 1.1.2发布了
- 支持高负载、高并发和海量数据存取的CDO应用开发框架(CDOFramework)
- Exchange开发中CDO对象的使用基础(1)
- Exchange开发中CDO对象的使用基础(1)
- Exchange开发中CDO对象的使用基础(1)
- CDO.Message使用详细介绍
- Exchange的CDO对象集合
- cdo
- cdo
- [VBS]CDO.Message使用详细介绍
- 关于asp.net 下发送邮件 未能访问"CDO.Message"对象 问题(1)
- ASP使用CDO对象发送电子邮件
- 解决“未能访问CDO.Message对象”提示问题
- Exchange开发中CDO对象的使用基础
- linux 文件权限 与 查找
- C++ 中的static
- 将一幅图像转换为灰度图
- uva10361--String
- U-boot移植
- cdoframework系列介绍1:CDO对象说明
- Hibernate关联关系
- Ubuntu下构建内核源码树
- SQL SERVER
- 目标2——摸清目录结构功能
- hadoop学习笔记(2)-hadoop安装目录权限的问题导致datanode启动失败
- 多线程
- (转)如何进行异构数据库同步(上篇)
- 国内网上银行转账业务的介绍