仓酷云

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

[学习教程] JAVA编程:What is hibernate?

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

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

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

x
对于一个大型项目,如果用java来作,可能需要9个月,并且可能需要翻阅10本以上的书,但如果用ruby来作,3个月,3本书就足够了,而.net也不过3,4本书足以,这就是区别。
次要特征











Hibernate是一个objectrelationalmapping的办理计划和一个耐久办理计划或耐久层。如许的注释大概不克不及使进修Hibernate的人分明。













你也许能够设想一下你的使用程序有良多功效(营业逻辑),你想把数据存到数据库里。当你一切的营业逻辑都用Java对象完成时,数据库的表却不是对象。













Hibernate供应了一个映照数据库表到Javaclass的办理举措。它复制数据库数据到object,也撑持把object数据存储到数据库。以这类办法就能够使object转换一个或多个数据库表。













把数据保留到存储设备就叫做耐久化。复制数据库表数据到object和从object把数据存进数据库表就叫做objectrelationalmapping。













为何要利用objectrelationalmapping?























更好的体系架构























当你把一切的处置和数据库会见都写进了页面,如许你程序就有了良多的弱点。













它重用坚苦。你在很多中央写了反复的代码。使得你在必要更动的时分很难找到一切必要变动的中央。













当你把页面分红营业逻辑和耐久逻辑等部分的时分,你能对照简单地更在个中一部分而不影响别的部分。













削减尺度数据库操纵编写工夫























很多数据库查询都是复杂的“insert,update,delete”语句。这完整没有需要开辟这些单调有趣的语句。Hibernate匡助你节俭了这些工夫。













从数据库加载数据到类相似于以下代码

Queryquery=session.createQuery("selectbfromBugasb");











for(Iteratoriter=query.iterate();iter.hasNext();){











bugs.add((Bug)iter.next());











}











returnbugs;













保留“bug”类相似于













session.update(bug);













本人难于完成一些初级功效























Hibernate供应的缓存计划(Cachingsolutions),事件处置(transactions)和别的功效都是不简单完成的。完整没来由往开辟一些已存在的工具,你仅仅只必要用Hibernate就能够完成上述功效了。













Hibernate是怎样事情的











我的定见是它比实体bean(entitybeans)友爱很多,hibernate只从一些复杂的Java类入手下手(Pojo=PlainOldJavaObjects)。













想利用hibernate你要先编写一个复杂的java类:

publicclassBug











implementsSerializable











{











privateinthashValue=0;











privatejava.lang.Integerid;











privatejava.lang.Stringtitle;











publicBug()











{











}











publicBug(java.lang.Integerfid)











{











this.setId(fid);











}











publicjava.lang.IntegergetId(){











returnid;











}











publicvoidsetId(java.lang.Integerid){











this.id=id;











}











publicjava.lang.StringgetTitle(){











returntitle;











}











publicvoidsetTitle(java.lang.Stringtitle){











this.title=title;











}











.............













然后创立一个映照文件。映照文件形貌Hibernate怎样将类的字段映照到数据库字段。

<hibernate-mappingpackage="de.laliluna.fehlerbehebung">











<classname="Bug"table="bug">











<idname="id"column="fid"type="java.lang.Integer">











<generatorclass="sequence">











<paramname="sequence">public.bug_fid_seq</param>











</generator>











</id>











<propertyname="title"column="ftitle"type="java.lang.String"/>











</class>











</hibernate-mapping>























如今就能够利用hibernate类了。

比方新建一个数据库实体:

try{











Bugbug=newBug();











bug.setTitle("Title");











bug.setTuserFk(tuser);











Transactiontx=session.beginTransaction();











session.save(bug);











tx.commit();











}catch(HibernateExceptione){











e.printStackTrace();











}























必要创立的形貌文件能够用一些工具主动天生,比方MyEclipse。MyEclipse供应了创立类和间接从数据库表创立形貌文件的功效。













Hibernate包含了以下工具:

l从形貌文件天生Java类

l从现无数据表天生形貌文件

l从形貌文件天生数据库表

























你通过从书的数量和开发周期及运行速度来证明:net和ruby要比java简单。
若相依 该用户已被删除
沙发
发表于 2015-1-21 16:19:55 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
只想知道 该用户已被删除
板凳
发表于 2015-1-25 21:09:00 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
莫相离 该用户已被删除
地板
发表于 2015-1-27 09:10:51 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
admin 该用户已被删除
5#
发表于 2015-2-5 03:59:35 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
深爱那片海 该用户已被删除
6#
发表于 2015-2-7 17:01:24 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
乐观 该用户已被删除
7#
发表于 2015-2-10 11:05:04 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
愤怒的大鸟 该用户已被删除
8#
发表于 2015-2-18 09:16:46 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
金色的骷髅 该用户已被删除
9#
发表于 2015-2-21 19:02:46 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
简单生活 该用户已被删除
10#
发表于 2015-2-24 17:16:36 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
海妖 该用户已被删除
11#
发表于 2015-3-4 04:57:39 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
爱飞 该用户已被删除
12#
发表于 2015-3-4 14:10:00 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
柔情似水 该用户已被删除
13#
发表于 2015-3-7 02:08:39 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
不帅 该用户已被删除
14#
发表于 2015-3-8 16:21:31 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
精灵巫婆 该用户已被删除
15#
发表于 2015-3-16 04:52:02 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
再现理想 该用户已被删除
16#
发表于 2015-3-22 20:10:24 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
活着的死人 该用户已被删除
17#
发表于 2015-3-22 20:10:25 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
变相怪杰 该用户已被删除
18#
发表于 2015-3-27 08:49:43 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
再见西城 该用户已被删除
19#
发表于 2015-3-29 23:07:44 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
分手快乐 该用户已被删除
20#
发表于 2015-4-11 06:11:50 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 07:56

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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