现在位置: > > IT/计算机

JAVA杂谈12

一位网络牛人,一位计算机专业的达人,写的一份强大的文章!今天整理出来,奉献给大家!JAVA的编程技巧,很好,很强大

Java杂谈(十二)——ORM

这是最后一篇Java杂谈了,以ORM框架的谈论收尾,也算是把J2ee的最后一方面给涵盖到了,之所以这么晚才总结出ORM这方面,一是笔者这两周比较忙,另一方面也想善始善终,仔细的先自己好好研究一下ORM框架技术,不想草率的敷衍了事。

其实J2ee的规范指南里面就已经包括了一些对象持久化技术,例如JDO(Java Data Object)就是Jav


a对象持久化的新规范,一个用于存取某种数据仓库中的对象的标准化API,提供了透明的对象存储,对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。我们如果要理解对象持久化技术,首先要问自己一个问题:为什么传统的JDBC来持久化不再能满足大家的需求了呢?

笔者认为最好是能用JDBC真正编写过程序了才能真正体会ORM的好处,同样的道理,真正拿Servlet/Jsp做过项目了才能体会到Struts、Spring等框架的方便之处。很幸运的是笔者这两者都曾经经历过,用混乱的内嵌Java代码的Jsp加Servlet转发写过完整的Web项目,也用JDBC搭建过一个完整C/S项目的后台。所以现在接触到新框架才更能体会它们思想和实现的优越之处,回顾从前的代码,真是丑陋不堪啊。^_^

回到正题,我们来研究一下为什么要从JDBC发展到ORM。简单来说,传统的JDBC要花大量的重复代码在初始化数据库连接上,每次增删改查都要获得Connection对象,初始化Statement,执行得到ResultSet再封装成自己的List或者Object,这样造成了在每个数据访问方法中都含有大量冗余重复的代码,考虑到安全性的话,还要加上大量的事务控制和log记录。虽然我们学习了设计模式之后,可以自己定义Factory来帮助减少一部分重复的代码,但是仍然无法避免冗余的问题。其次,随着OO思想深入人心,连典型的过程化语言Perl等都冠冕堂皇的加上了OO的外壳,何况是Java中繁杂的数据库访问持久化技术呢?强调面向对象编程的结果就是找到一个桥梁,使得关系型数据库存储的数据能

准确的映射到Java的对象上,然后针对Java对象来设计对象和方法,如果我们把数据库的Table当作Class,Record当作Instance的话,就可以完全用面向对象的思想来编写数据层的代码。于是乎,Object Relationship Mapping的概念开始普遍受到重视,尽管很

相关文档
JAVA杂谈11
关键词:JAVA 同系列文档 JAVA杂谈121/2 相关文档推荐 Java杂谈 32页 1财富值 Java杂谈 10页 1财富值 Java学习杂谈 32页 5财富值 JAVA杂谈9——2 3页 5财...
JAVA杂谈9——2
Java杂谈(九)--Struts2 最近业余时间笔者一直Java Virtual Machine的研究,由于...在2005年12月,WebWork与Struts Ti决定合拼, 再此同时, Struts Ti 改名为 ...
java杂谈
java杂谈 java经典!java经典!隐藏>> 标题:一个计算机专业学生几年的 Java 编程经验汇 总 作者:林路 时间:2009-06-12 23:31 想来学习 Java 也有两个年头了...
JAVA论坛项目展示
编写tongyongshow.jsp, showband.java,将板块名字做为参数传递到 tongyongshow.jsp中,将该参数作为操作类 showband的形参。 12 13 ? ? ? 首页面 说明:首页面...
java获取未来时间
(2012-05-30 11:00:19)转载▼标签: java 杂谈 public static long get...(months > 12) { year = year + months / 12; months = months / 12;...
Java杂谈
杂谈JAVA 3页 1财富值 JAVA杂谈2 3页 2财富值 JAVA杂谈9 4页 2财富值 java杂谈 暂无评价 14页 5财富值 JAVA杂谈5 3页 2财富值 JAVA杂谈4 暂无评价 3页...
基于java的在线论坛的设计与实现
基于java的在线论坛的设计与实现_计算机软件及应用_IT/计算机_专业资料。基于java...系统用户的数据包括用户名、用户密码、用户第 12 页 在线论坛的设计与实现 类型...
JAVA中文站-J动论坛-12个蛋称3次找出1个坏的方法和代码。
JAVA-CN培训中心 特色专栏 张孝祥JAVA课堂 特聘专家组 软考专题 乐事工作组 FREEDOM工作室 >> 论坛专题说明 J动论坛 → Java基础 → 12个蛋称3次找出1个坏的...
杂谈JAVA
杂谈JAVA_计算机软件及应用_IT/计算机_专业资料。谈论Object类,方法重载,重写toString方法,Hashcode等。Java 杂谈(三) 这已经笔者写的第三篇Java杂记了,庆幸前两篇...
JSP(java)的BBS论坛的设计和实现
所以,JDBC 为 Java 应用程序与各种不同数据库之间进行对话提供了一个标准的方 法,这也是 Java 语言“一次编写,到处运行”的优势。 12 4 数据库设计 4.1 数据...
相关主题
返回顶部
热门文档
你可能喜欢