仓酷云

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

[学习教程] JAVA网页编程之Eclipse疾速上手Hibernate--2. 使用Hbm...

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:49:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
在性能方面,在windows平台下,.net可能是占强项,要是把.net放在sun开发的操作系统上去运行呢?根本就运行不了,.net对其它操作系统的支持也很弱,性能也可能比不上java。这篇文章是上篇文章《Eclipse疾速上手Hibernate--1.进门实例》的持续,次要说的是怎样使用Hbm映照文件发生一般的Java对象及数据表。能够参考Hibernate自带的文档《HIBERNATE-切合Java习气的干系数据库耐久化》的第15章--《工具箱指南》一节。一样,这篇文章没有过量谈实际,只是给出了一个完全的实例加以申明。相干设置请参考上篇文章。1.创立项目·新建一个Java项目:HibernateBegin_2,注重选中“创立独自的源文件夹和输入文件夹”,同时增加“用户库”:hibernate。2.映照文件User.hbm.xml·新建一个包,包名:javamxj.hibernate,然后在此包下新建一个文件,文件名:User.hbm.xml。User.hbm.xml
<?xmlversion="1.0"encoding="GBK"?><!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD//EN""http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"><hibernate-mapping><classname="javamxj.hibernate.User"table="UserTable2"><metaattribute="class-description">运转Hbm2Java义务,使用hbm.xml文件天生Java类文件@authorjavamxj(分享java康乐)@linkBlog:htpp://javamxj.mblogger.cnhtpp://blog.csdn.net/javamxj/</meta><idname="id"type="string"unsaved-value="null"length="32"column="ID"><generatorclass="uuid.hex"/></id><propertyname="username"type="string"not-null="true"length="24"><metaattribute="field-description">@param用户名</meta></property><propertyname="password"type="string"not-null="true"><columnname="暗码"length="24"not-null="true"></column></property></class></hibernate-mapping>
●与上篇文章中的User.hbm.xml文件对照,能够发明标签上增添了很多分外的设定。·这里<meta>标签中的内容将拔出到类的javadoc申明往。·<id>标签利用uuid.hex来界说主键的发生算法,UUID算法利用IP地点、JVM的启动工夫、体系工夫和一个计数值来发生主键。·<property>标签中的<column>用于天生数据表中的列。3.构建文件Build.xml·将上篇文章中的“hibernate.cfg.xml”设置文件复制到src目次下。·在项目根目次下创建一个build.xml,这个文件含有四个义务,这里会用到“generate-code”、“schemaexport”两个义务,至于用法能够看正文。要注重情况变量的设置要切合本人的实践设置,好比库文件目次的设置是"D:/java/Hibernate/lib",是相沿上篇文章中的设置。
build.xml

<?xmlversion="1.0"encoding="GBK"?><projectname="使用工具开辟Hibernate"default="help"basedir="."><!--******情况设置,能够依据本人的实践设置自行变动*****--><!--源文件目次,能够经由过程项目->属性->Java构建路径变动--><propertyname="src.dir"value="./src"/><!--输入的class文件目次,能够经由过程项目->属性->Java构建路径变动--><propertyname="class.dir"value="./bin"/><!--库文件目次--><propertyname="lib.dir"value="D:/java/Hibernate/lib"/><!--界说类路径--><pathid="project.class.path"><filesetdir="${lib.dir}"><includename="*.jar"/></fileset><pathelementlocation="${class.dir}"/></path><!--**************************************************************--><!--利用申明--><!--**************************************************************--><targetname="help"><echomessage="使用工具开辟Hibernate"/><echomessage="-----------------------------------"/><echomessage=""/><echomessage="供应以下义务:"/><echomessage=""/><echomessage="generate-code-->运转Hbm2Java,使用hbm.xml文件天生Java类文件"/><echomessage="generate-hbm-->运转HibernateDoclet,天生Hibernate类的映照文件"/><echomessage="schemaexport-->运转SchemaExport,使用hbm.xml文件天生数据表"/><echomessage=""/></target><!--**************************************************************--><!--Hbm2Java义务--><!--**************************************************************--><targetname="generate-code"><echomessage="运转Hbm2Java义务,使用hbm.xml文件天生Java类文件"/><taskdefname="hbm2java"classname="net.sf.hibernate.tool.hbm2java.Hbm2JavaTask"classpathref="project.class.path"></taskdef><hbm2javaoutput="${src.dir}"><filesetdir="${src.dir}"><includename="**/*.hbm.xml"/></fileset></hbm2java></target><!--**************************************************************--><!--HibernateDoclet义务--><!--**************************************************************--><targetname="generate-hbm"><echomessage="运转HibernateDoclet,天生Hibernate类的映照文件"/><taskdefname="hibernatedoclet"classname="xdoclet.modules.hibernate.HibernateDocletTask"classpathref="project.class.path"></taskdef><hibernatedocletdestdir="${src.dir}"excludedtags="@version,@author,@todo"force="true"encoding="GBK"verbose="true"><filesetdir="${src.dir}"><includename="**/*.java"/></fileset><hibernateversion="2.0"xmlencoding="GBK"/></hibernatedoclet></target><!--**************************************************************--><!--SchemaExport义务--><!--**************************************************************--><targetname="schemaexport"><echomessage="运转SchemaExport,使用hbm.xml文件天生数据表"/><taskdefname="schemaexport"classname="net.sf.hibernate.tool.hbm2ddl.SchemaExportTask"classpathref="project.class.path"></taskdef><schemaexportconfig="${src.dir}/hibernate.cfg.xml"quiet="no"text="no"drop="no"output="schema-export.sql"></schemaexport></target></project>
·最初的目次布局以下:4.运转义务·右击“build.xml”->“运转”->这里应当有“Ant构建”和“Ant构建...”两个菜单,个中“Ant构建”间接运转缺省义务,这里是指“help”义务;假如要运转别的的义务,能够经由过程“Ant构建...”菜单选择。·这里另有一种更好的办法,Eclipse主菜单上点击“窗口”->“显现视图”->点击“Ant”,如许就修改了Ant视图,在这个视图窗口的空缺处,右击,在弹出菜单当选择“增加构建文件”,然后将HibernateBegin_2项目根目次下的“build.xml”文件载进便可。效果如图:如许,想运转某个义务,间接双击Ant视图中的义务便可。●天生User.java·双击“generate-code”义务,在把持台应当能够看到以下输入:·假如在src目次下没有看到“User.java”这个文件,那末选中src目次,然后按一下“F5”功效键革新一下src目次,应当能够在包“javamxj.hibernate”下看到“User.java”。这个文件就是“Hbm2Java”天生器依据hbm文件发生的,以下:
User.java

packagejavamxj.hibernate;importjava.io.Serializable;importorg.apache.commons.lang.builder.ToStringBuilder;/****运转Hbm2Java义务,使用hbm.xml文件天生Java类文件*@authorjavamxj(分享java康乐)*@linkBlog:htpp://javamxj.mblogger.cn*htpp://blog.csdn.net/javamxj/**/publicclassUserimplementsSerializable{/**identifierfield*/privateStringid;/**persistentfield*/privateStringusername;/**persistentfield*/privateStringpassword;/**fullconstructor*/publicUser(Stringusername,Stringpassword){this.username=username;this.password=password;}/**defaultconstructor*/publicUser(){}publicStringgetId(){returnthis.id;}publicvoidsetId(Stringid){this.id=id;}/***@param用户名*/publicStringgetUsername(){returnthis.username;}publicvoidsetUsername(Stringusername){this.username=username;}publicStringgetPassword(){returnthis.password;}publicvoidsetPassword(Stringpassword){this.password=password;}publicStringtoString(){returnnewToStringBuilder(this).append("id",getId()).toString();}}
能够对比“User.hbm.xml”文件,看看都是哪些属性转化成甚么代码。●天生数据表·启动MySql,应当断定含有HibernateTest数据库,不外此次不必要创建数据表了。·双击“schemaexport”义务,把持台输入以下,注重主动天生的SQL语句:·同时,在项目根目次下,也会发生一个“schema-export.sql”文件(假如没有,按F5键革新目次),这个文件是在“build.xml”中设定的:schema-export.sqldroptableifexistsUserTable2createtableUserTable2(IDvarchar(32)notnull,dddvarchar(24)notnull,暗码varchar(24)notnull,primarykey(ID))·切换到数据库中,会发明已主动发生了数据表usertable2:5.测试程序好了,将上篇文章中的test.java文件复制到包“javamxj.hibernate”下,然后右击运转这个文件,能够看到数据表中天生的数据。小结好了,再来看看全部项目标布局,个中“User.java”和“schema-export.sql”两个文件都是主动天生的,要注重的一点是:天生“schema-export.sql”文件必要挪用“User.java”文件,以是“generate-code”义务要在“schemaexport”义务前实行。最好利用XMLBuddy插件来编纂xml文件,能够参考:关于怎样使用Hbm映照文件发生一般的Java对象及数据表,还必要多看看参考文档,也要多加实习,在理论中把握,在理论中行进。下篇文章漫谈谈使用XDoclet开辟Hibernate。
还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-21 15:58:24 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
海妖 该用户已被删除
板凳
发表于 2015-1-30 20:39:24 | 只看该作者
是一种突破用户端机器环境和CPU
若相依 该用户已被删除
地板
发表于 2015-2-2 14:38:21 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-5 03:26:52 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
第二个灵魂 该用户已被删除
6#
发表于 2015-2-11 02:48:43 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
admin 该用户已被删除
7#
发表于 2015-3-7 00:49:51 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
乐观 该用户已被删除
8#
发表于 2015-3-9 01:35:07 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
金色的骷髅 该用户已被删除
9#
发表于 2015-3-16 19:45:12 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
老尸 该用户已被删除
10#
发表于 2015-3-21 16:15:25 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
柔情似水 该用户已被删除
11#
发表于 2015-3-25 11:05:46 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
小魔女 该用户已被删除
12#
发表于 2015-3-27 03:46:08 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
灵魂腐蚀 该用户已被删除
13#
发表于 2015-3-28 04:35:47 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
不帅 该用户已被删除
14#
发表于 2015-4-3 21:47:16 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
简单生活 该用户已被删除
15#
发表于 2015-4-15 01:28:40 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
再见西城 该用户已被删除
16#
发表于 2015-4-26 18:12:00 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
飘灵儿 该用户已被删除
17#
发表于 2015-5-2 18:35:57 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
兰色精灵 该用户已被删除
18#
发表于 2015-5-6 18:21:47 | 只看该作者
是一种使用者不需花费很多时间学习的语言
若天明 该用户已被删除
19#
发表于 2015-5-7 18:08:43 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
谁可相欹 该用户已被删除
20#
发表于 2015-5-12 05:48:55 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 02:11

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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