|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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原来也有许多缺点。 |
|