仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 783|回复: 12
打印 上一主题 下一主题

[学习教程] JAVA网站制作之J2EE基本:用Hibernate企业框架的长处

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:17:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。j2ee<Pstyle="TEXT-INDENT:2em">1、Hibernate是JDBC的轻量级的对象封装,它是一个自力的对象耐久层框架,和AppServer,和EJB没有甚么一定的接洽。Hibernate能够用在任何JDBC可使用的场所,比方Java使用程序的数据库会见代码,DAO接口的完成类,乃至能够是BMP内里的会见数据库的代码。从这个意义下去说,Hibernate和EB不是一个范围的工具,也不存在非此即彼的干系。<Pstyle="TEXT-INDENT:2em">2、Hibernate是一个和JDBC亲切联系关系的框架,以是Hibernate的兼容性和JDBC驱动,和数据库都有必定的干系,可是和利用它的Java程序,和AppServer没有任何干系,也不存在兼容性成绩。<Pstyle="TEXT-INDENT:2em">3、Hibernate不克不及用来间接和EntityBean做对照,只要放在全部J2EE项目标框架中才干对照。而且即便是放在软件全体框架中来看,Hibernate也是做为JDBC的替换者呈现的,而不是EntityBean的替换者呈现的,让我再列一次我已列n次的框架布局:<Pstyle="TEXT-INDENT:2em">传统的架构:<Pstyle="TEXT-INDENT:2em">1)SessionBean<->EntityBean<->DB<Pstyle="TEXT-INDENT:2em">为懂得决功能停滞的替换架构:<Pstyle="TEXT-INDENT:2em">2)SessionBean<->DAO<->JDBC<->DB<Pstyle="TEXT-INDENT:2em">利用Hibernate来进步下面架构的开辟效力的架构:<Pstyle="TEXT-INDENT:2em">3)SessionBean<->DAO<->Hibernate<->DB<Pstyle="TEXT-INDENT:2em">就下面3个架构来剖析:<Pstyle="TEXT-INDENT:2em">1、内存损耗<Pstyle="TEXT-INDENT:2em">接纳JDBC的架构2无疑是最省内存的,Hibernate的架构3次之,EB的架构1最差。<Pstyle="TEXT-INDENT:2em">2、运转效力<Pstyle="TEXT-INDENT:2em">假如JDBC的代码写的十分优化,那末JDBC架构运转效力最高,可是实践项目中,这一点几近做不到,这必要程序员十分精晓JDBC,使用Batch语句,调剂PreapredStatement的BatchSize和FetchSize等参数,和在需要的情形下接纳了局集cache等等。而一样平常情形下程序员是做不到这一点的。因而Hibernate架构体现出最快的运转效力。EB的架构效力会差的很远。<Pstyle="TEXT-INDENT:2em">3、开辟效力<Pstyle="TEXT-INDENT:2em">在有JBuilder的撑持下和复杂的项目,EB架构开辟效力最高,JDBC次之,Hibernate最差。可是在年夜的项目,出格是耐久层干系映照很庞大的情形下,Hibernate效力高的惊人,JDBC次之,而EB架构极可能会失利。<Pstyle="TEXT-INDENT:2em">4、散布式,平安反省,集群,负载平衡的撑持<Pstyle="TEXT-INDENT:2em">因为有SB做为Facade,3个架构没有区分。<Pstyle="TEXT-INDENT:2em">4、EB和Hibernate进修难度在那里?<Pstyle="TEXT-INDENT:2em">EB的难度在那里?不在庞大的XML设置文件上,而在于EB使用略微失慎,就有严峻的功能停滞。以是难在你必要进修良多EJB计划形式来避开功能成绩,必要进修AppServer和EB的设置来优化EB的运转效力。做EB的开辟事情,程序员的年夜部分精神都被放到了EB的功能成绩上了,反而没有更多的精神存眷自己就次要投进精神往思索的对象耐久层的计划下去。<Pstyle="TEXT-INDENT:2em">Hibernate难在那里?不在Hibernate自己的庞大,实践上Hibernate十分的复杂,难在Hibernate太天真了。<Pstyle="TEXT-INDENT:2em">当你用EB来完成耐久层的时分,你会发明EB其实是太愚笨了,愚笨到你基本没有甚么能够选择的余地,以是你基本就不必消费精神往计划计划,往均衡计划的优劣,往费头脑思索选择哪一个计划,由于只要独一的计划摆在你眼前,你只能这么做,没得选择。<Pstyle="TEXT-INDENT:2em">Hibernate相反,它太天真了,不异的成绩,你最少能够计划出十几种计划来办理,以是出格的犯难,事实用这个,仍是用谁人呢?这些计划之间究竟有甚么区分呢?他们的运转道理有甚么分歧?运转效力哪一个对照好?光是主键天生,就有七八种计划供你选择,你难堪不难堪?汇合属性能够用Set,能够用List,还能够用Bag,究竟哪一个效力高,你难堪不难堪?查询能够用iterator,能够用list,哪一个好,有甚么区分?你难堪不难堪?复合主键你能够间接在hbm内里设置,也能够自界说CustomerType,哪一种对照好些?你难堪不难堪?关于一个表,你能够选择单一映照一个对象,也能够映照成父子对象,还能够映照成两个1:1的对象,在甚么情形下用哪一种计划对照好,你难堪不难堪?这个列表能够一向开列下往,直到你不想再看下往为止。当你眼前摆着有数的头昏眼花的计划的时分,你会以为幸运呢?仍是悲伤呢?假如你是一个卖力的程序员,那末你必定会细心研讨每种计划的区分,每种计划的效力,每种计划的合用场所,你会以为你已堕入出来拔不出来了。假如是用EB,你第一秒种就已做出了决意,基本没得选择,好比说汇合属性,你只能用Collection,假如是Hibernate,你会在Bag,List和Set之间往返优柔寡断,乃至弄不分明的话,程序都没有举措写。

前些天,在CSDN上看到了一个消息,说是ASP.NETAJAX成功在Linux上运行,这一点对我触动很大,而且引发了我许多感叹,所以想写出来分享一下。
飘飘悠悠 该用户已被删除
沙发
发表于 2015-1-20 19:31:09 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
简单生活 该用户已被删除
板凳
发表于 2015-1-21 11:43:07 | 只看该作者
是一种突破用户端机器环境和CPU
不帅 该用户已被删除
地板
发表于 2015-1-28 10:45:56 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
只想知道 该用户已被删除
5#
发表于 2015-2-2 21:57:28 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
再见西城 该用户已被删除
6#
发表于 2015-2-8 08:14:42 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
海妖 该用户已被删除
7#
发表于 2015-2-10 06:34:46 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
莫相离 该用户已被删除
8#
发表于 2015-2-25 20:29:50 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
蒙在股里 该用户已被删除
9#
发表于 2015-3-8 02:23:48 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
飘灵儿 该用户已被删除
10#
发表于 2015-3-11 18:07:32 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
谁可相欹 该用户已被删除
11#
发表于 2015-3-12 23:57:30 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
活着的死人 该用户已被删除
12#
发表于 2015-3-13 00:07:16 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
分手快乐 该用户已被删除
13#
发表于 2015-3-20 05:56:35 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 11:06

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表