仓酷云

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

[学习教程] JAVA编程:Eclipse疾速上手Hibernate--3. 使用XDo...

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

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

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

x
还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。这篇文章是上两篇文章《Eclipse疾速上手Hibernate--1.进门实例》和《Eclipse疾速上手Hibernate--2.使用Hbm映照文件开辟》的持续,次要说的是怎样使用XDocletHbm映照文件发生Hbm映照文件及数据表。能够参考XDoclet文档中关于Hibernate的部分和夏昕编写的《Hibernate开辟指南》。一样,这篇文章没有过量谈实际,只是给出了一个完全的实例加以申明。相干设置请参考上两篇文章。1.创立项目·新建一个Java项目:HibernateBegin_3,注重选中“创立独自的源文件夹和输入文件夹”,同时增加“用户库”:hibernate。2.文件User.java·新建一个类,包名:javamxj.hibernate,类名:User。然后在天生的代码中增加变量,再使用“天生Getter和Setter”,详细体例同《Eclipse疾速上手Hibernate--1.进门实例》文章中的编纂User.java的体例一样。·增加HibernateDoclet标志,关于怎样使用JBoss-IDE增加XDoclet标志的技能参考《Eclipse疾速上手EJB--1.Lomboz+JBoss-IDE设置2》文中的关于JBoss-IDE的部分,这是增加HibernateDoclet后的代码:
User.java

/**接纳HibernateDoclet开辟一个复杂的Hibernate实例*创立日期2005-3-31*@authorjavamxj(分享java康乐)*@linkBlog:htpp://javamxj.mblogger.cn*htpp://blog.csdn.net/javamxj/*/packagejavamxj.hibernate;/***@hibernate.classtable="UserTable3"*/publicclassUser{privateintid;privateStringusername;privateStringpassword;/***@hibernate.id*column="ID"*generator-class="hilo"*/publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}/***@hibernate.property*length="24"*not-null="true"*/publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}/***@hibernate.property*column="用户名"*length="24"*not-null="true"*/publicStringgetUsername(){returnusername;}publicvoidsetUsername(Stringusername){this.username=username;}}
·增加类标志“@hibernate.classtable="UserTable3"”用来天生数据库的表UserTable3。·“@hibernate.id"用来天生主键,注重这里接纳是hilo(上下位)天生器,必要分外的数据库表保留主键天生汗青形态。·“@hibernate.property”形貌POJO中属性与数据库表字段之间的映照干系。●更新xdoclet-hibernate-module·将XDoclet1.2.2中的xdoclet-hibernate-module-1.2.2.jar复制到JBossIDE-1.4.1-e30eclipsepluginsorg.jboss.ide.eclipse.xdoclet.core_1.4.1目次中,而且删除其目次下的xdoclet-hibernate-module-1.2.1.jar文件,然后在eclipse界面中,窗口->首选项->JBoss-IDE->XDoclet->CodeAssist:点击右边的“RefreshXDocletData”栏,便可完成更新。假如要交换别的的模块,步骤与此相似。3.项目布局·将上篇文章中的“build.xml”复制到项目根目次下,设置文件“hibernate.cfg.xml”复制到src目次下,这时候的项目布局如图:4.运转义务·双击“generate-hbm”义务,然后按一下“F5”功效键革新一下包“javamxj.hibernate”,应当能够看到这个包下的“User.hbm.xml”。文件以下:
User.hbm.xml
<?xmlversion="1.0"encoding="GBK"?><!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD2.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"><hibernate-mapping><classname="javamxj.hibernate.User"table="UserTable3"dynamic-update="false"dynamic-insert="false"select-before-update="false"optimistic-lock="version"><idname="id"column="ID"type="int"><generatorclass="hilo"><!--ToaddnonXDocletgeneratorparameters,createafilenamedhibernate-generator-params-User.xmlcontainingtheadditionalparametersandplaceitinyourmergedir.--></generator></id><propertyname="password"type="java.lang.String"update="true"insert="true"access="property"column="password"length="24"not-null="true"/><propertyname="username"type="java.lang.String"update="true"insert="true"access="property"column="用户名"length="24"not-null="true"/><!--ToaddnonXDocletpropertymappings,createafilenamedhibernate-properties-User.xmlcontainingtheadditionalpropertiesandplaceitinyourmergedir.--></class></hibernate-mapping>●天生数据表·启动MySql,应当断定含有HibernateTest数据库,不外此次不必要创建数据表了。·双击“schemaexport”义务,然后革新项目根目次,会发明生产生的“schema-export.sql”文件。schema-export.sqldroptableifexistsUserTable3droptableifexistshibernate_unique_keycreatetableUserTable3(IDintegernotnull,passwordvarchar(24)notnull,用户名varchar(24)notnull,primarykey(ID))createtablehibernate_unique_key(next_hiinteger)insertintohibernate_unique_keyvalues(0)·切换到数据库中,会发明已主动发生了数据表usertable3和hibernate_unique_key:5.测试程序好了,将上篇文章中的test.java文件复制到包“javamxj.hibernate”下,然后右击运转这个文件,能够看到数据表中天生的数据(图中的数据是一连运转4次后发生的)。6.Log4jLog4j是一个开放源码的项目。它同意开辟员以恣意的距离来把持日记的输入。它经由过程设在内部的设置文件而到达运转时天真的设置。运转Log4j的库文件都已放到先前创建的hibernate库文件夹中了,你只需找到下载的hibernate2.1.8紧缩文件中的etc目次,复制个中的log4j.properties文件到项目中的src目次便可。运转test.java,能够看到把持台的输入语句仿佛和先前没有效Log4j没有甚么区分。如今翻开log4j.properties,找到“log4j.logger.net.sf.hibernate=info”语句,将其改成“log4j.logger.net.sf.hibernate=warn”,再次运转test.java,能够看到把持台的输入语句只要两条了:21:03:55,687WARNConfigurator:125-Noconfigurationfound.Configuringehcachefromehcache-failsafe.xmlfoundintheclasspath:jar:file:/D:/java/Hibernate/lib/ehcache-0.9.jar!/ehcache-failsafe.xmlHibernate:insertintoUserTable3(password,用户名,ID)values(?,?,?)告诫信息是指缓存设置文件没有找到,今后用到时再谈谈这一点。好了,hibernate分离Log4j的利用就是这么复杂。关于Log4j的利用,对照复杂,网上的材料也良多,本人能够google一下。小结:Hibernate的开辟相称天真,能够接纳多种体例开辟。·只要Hbm映照文件:映照文件---hbm2java----java---SchemaExport----数据表·只要Java:java---XDoclet---Hbm----SchemaExport----数据表·假如只要数据表呢?能够接纳Middlegen:数据表---Middlegen---Hbm----hbm2java----java关于使用Middlegen开辟Hibernate的办法,能够参考夏昕编写的《Hibernate开辟指南》。·至于有关Hibernate的Eclipse插件,也有良多,能够看看《WorkingwithHibernateinEclipse》。
先谈谈我对java的一些认识。我选择java,是因为他语法简单,功能强大,从web,到桌面,到嵌入式,无所不能。但当我进一步了解了java后,感叹,java原来也有许多缺点。
小女巫 该用户已被删除
沙发
发表于 2015-1-20 23:09:39 | 只看该作者
是一种突破用户端机器环境和CPU
爱飞 该用户已被删除
板凳
发表于 2015-2-4 02:39:28 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
飘灵儿 该用户已被删除
地板
发表于 2015-2-9 11:45:32 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
山那边是海 该用户已被删除
5#
发表于 2015-2-20 13:58:48 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
变相怪杰 该用户已被删除
6#
发表于 2015-3-5 23:58:56 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
柔情似水 该用户已被删除
7#
发表于 2015-3-6 19:33:24 | 只看该作者
是一种为 Internet发展的计算机语言
简单生活 该用户已被删除
8#
发表于 2015-3-12 17:24:19 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-12 19:15:49 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
分手快乐 该用户已被删除
10#
发表于 2015-3-20 01:43:56 | 只看该作者
是一种为 Internet发展的计算机语言
金色的骷髅 该用户已被删除
11#
发表于 2015-4-10 08:29:15 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 06:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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