- 1、本文档共67页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于JSON的异构数据库整合研究
基于JSON的异构数据库整合研究
JSON Based Heterogeneous Database Integration Research
目录
目 录
TOC \o 1-3 \h \u );
try {
FileOutputStream fos = new FileOutputStream(foo.ser);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(stu);
oos.close();
} catch (Exception exc) {
exc.printStackTrace();
}
}
}
Java反序列化过程如下:
1)创建文件FileOutputStream类型的文件fos;
2)创建一个对象输出流ObjectInputStream类型的对象
ois = new ObjectIutputStream(fos);
4)从ois里读取obj,即ois.readObject(),获得对象obj;
5)关闭ois;
可以看到Java里面的序列化与反序列化过程实际上与JSON的赋值和eavl是一致的。JSON的赋值是得到JSON文本,eval过程是通过JSON文本得到JavaScript对象。
那么有没有可能将POJO对象直接转换成JSON、JSON转换成POJO对象呢?答案是肯定的。
图3-7 JSON与POJO对象的相互转化示意图
3.3.2 将POJO转化为JSON
POJO类的对象作为最普通的JavaBean,它既有属性也有方法,他的属性都是私有访问权限,他的方法都是公共访问权限,这些方法都是与属性配套的存和取方法[21]。显然,其存和取方法本身不是我们需要的数据,我们关心的是属性,所以在将POJO转化成JSON的过程中,重要的是得到属性的名称和该属性对应的值。而做到这点是没有问题的,Java语言有反射机制(reflect)[22],通过POJO类的class对象,就能得到所有的属性的名称,然后就能得到属性对应的值。所以将POJO直接转化为JSON是可行。
以下为将POJO对象转化为JSON的示例代码:
public class Pojo2Json {
public static void main(String[] args) throws JSONException {
String json = {\name\:\reiz\};
JSONObject jObj = new JSONObject(json);
String name = jObj.getString(name);
jObj.put(initial, name.substring(0, 1).toUpperCase());
String[] str = new String[] { Opera, Chrome, Gecko };
jObj.put(browsers, str);
MapString, String map = new HashMapString, String();
map.put(meat, 0.5kg);
map.put(bean, 1kg);
map.put(rice, 2.4kg);
map.put(fruits, apples);
jObj.put(map, map);
System.out.println(jObj);
}
}
3.3.3 将JSON转化为POJO
JSON作为文本,在Java里面就是字符串。对字符串按照JSON的语法规则进行解析,根据JSON的key的字符串,获得POJO类的class对象的key字符串对应setter方法。
3.4 将JSON融入ORM
对象关系映射模型(Object/Relation Mapping,简称ORM),是跟着现代面向对象的计算机软件开发方法发展而诞生的。现在企业级应用开发中,因其着重业务的处理,面向对象模式的开发方法有助于提高软件产品的开发周期、质量,所以面向对象的开发方法是主流开发方法。而现在大多数企业都采用关系型数据库来持久化业务数据,关系数据和对象是企业级应用中业务实体的两种表现形式[23],业务实体在JVM运行时环境中以对象的形式存在,在关系型数据库中表现的表现形式为关系数据。JVM运行时环境中的对象,他们彼此之间存在持有和继承关系。而在关系型数据库中,关系型数据库无法直接表达多对多持有(关联)和继承关系。数据库对象关系映射模型的(ORM)系统一般以中间件的形式存在,它主要实现JVM运行时环境中的对象到关系数据库数据
文档评论(0)