王朝网络
分享
 
 
 

hibernate应用配置说明-middlegen和hbm2java的配置

王朝java/jsp·作者佚名  2008-05-31
宽屏版  字体: |||超大  

-- hibernate应用配置说明 -- Middlegen

************************************

ant配置

************************************

下载ant,解压

将ant考到c:跟目录

环境变量里加上ANT_HOME=c:\\ant

PATH=c:\\ant\\bin;

进入命令行模式,输入: ant

如:

C:\\>ant

Buildfile: build.XML does not exist!

Build failed

出现该显示,说明ant已配置成功

************************************

Middlegen hibernate配置

************************************

是hibernate的O/R Mapping工具

http://hibernate.bluemars.net/98.Html

可以生成*.hbm.xml文件,是hibernate所需的映射文件

下载Middlegen Hibernate,解压,如D:\\hiber\\Middlegen-Hibernate-r1\进入目录,

【配置数据库,以MS SQLSERVER为例,JDBC驱动为JSQL Connect(www.j-netdirect.com)】

1、进入/config/database/目录

2、将JSQLConnect.jar驱动考到/lib/目录

3、编辑MSSQL.xml文件,如下

<property name="database.script.file" value=""/>

<property name="database.driver.file" value="${lib.dir}/JSQLConnect.jar"/>

<property name="database.driver" value="com.jnetdirect.jsql.JSQLDriver"/>

<property name="database.url" value="jdbc:JSQLConnect://数据库服务器名或IP/database=要操作的数据库名"/>

<property name="database.userid" value="数据库用户名"/>

<property name="database.passWord" value="数据库密码"/>

<property name="database.schema" value=""/>

<property name="database.catalog" value=""/>

<property name="jboss.datasource.mapping" value="MS SQLSERVER2000"/>

【编辑Middlegen hibernate配置】

1、编辑build.xml

2、修改数据库默认文件,找到这行,大概在22行左右

<!DOCTYPE project [

<!--ENTITY database SYSTEM "file:./config/database/hsqldb.xml"-->//原内容,注解掉

<!ENTITY database SYSTEM "file:./config/database/mssql.xml">//加上

]>

3、编辑输出的根目录名,找到该行,大概在30行左右

<!--property name="name" value="airline"/-->//原内容,注解掉

<property name="name" value="com"/>//加上,value为你想要的,如com

4、编辑输出的包名,找到该行,大概在210行左右

<!--hibernate

destination="${build.gen-src.dir}"

package="${name}.hibernate"

/-->//原内容,注解掉

<hibernate

destination="${build.gen-src.dir}"

package="${name}.test"

/>//加上,生成的xml文件里,会以com.test作为你的package

输出目录为/build/gen-src/com/test/*.hbm.xml(*为对应的表,命名为你自己所定义的名称)

5、定义输出的目录,找到该行,在文档最后

<target name="validate">

<xmlvalidate failonerror="no" lenient="no" warn="yes">

<fileset dir="${build.gen-src.dir}/com/test" includes="*.xml" />改成你要输出的目录结构,最好以你的包的结构作为目录结构

</xmlvalidate>

</target>

6、在连接Sql server时,提示数据库连接成功,但说没有表,找到该行

<middlegen

appname="${name}"

prefsdir="${src.dir}"

gui="${gui}"

databaseurl="${database.url}"

initialContextFactory="${Java.naming.factory.initial}"

providerURL="${java.naming.provider.url}"

datasourceJNDIName="${datasource.jndi.name}"

driver="${database.driver}"

username="${database.userid}"

password="${database.password}"

schema="${database.schema}"//去掉

catalog="${database.catalog}" //去掉,这样就可以了

>

【配置完毕】

配置完毕后,在根目录下运行ant

则会出现一个可视化的操作界面,如图

默认会根据表名和字段名对应生成相应的名称,当然你也可以自己定义,对应没问题,则可以点击【Generate】,在可发现

/build/gen-src/com/test/*.hbm.xml,会生成相应XML文件

************************************

hibernate-extensions-2.0应用配置

************************************

这是hibernate的工具,/tools下有3个工具

class2hbm.bat 根据你自己对应表所写的java文件,生成相应的*.hbm.xml文件

ddl2hbm.bat 根据你的数据库表,自动生成*.hbm.xml和*.java文件(假如不需要具体的配置,建议用这种方式生成*.xml和*.java文件)

hbm2java.bat 根据*.hbm.xml生成相应的*.java文件

用之前,首先得用ant编译

【注重的地方】

build.xml

<property name="hibernate-core.home" value="../../hibernate-2.0"/>//找到该行,40行左右

value为你得hibernate解压目录

【编译完毕】

编译完的文件存放在/tools/target/hibernate-tools-2.0/

现在可以用编译完的执行文件进行映射转化了

【应用】

hbm2java.bat

1、进入命令行模式,进入hibernate-tools-2.0目录,进入/bin

2、首先执行setenv.bat,设置一下环境变量,运行前,先检查一下setenv.bat文件,用文本编辑器打开,找到如下行:

set JDBC_DRIVER=C:\\Progra~1\\SQLLIB\\java\\db2java.zip;C:\\mm.mysql-2.0.14\\mm.mysql-2.0.14-bin.jar;D:\\j2sdk1.4.1\\lib\\JSQLConnect.jar

//将你的JDBC驱动添加进去

rem set HIBERNATE_HOME=..\\..\\hibernate-2.0//原来的

set HIBERNATE_HOME=D:\\hiber\\hibernate-2.0//改成你当前hibernate-2.0所在目录

3、执行hbm2java.bat D:\\hiber\\com\\test\\*.xml //后面所跟的是你用Middlegen Hibernate所生成的*.hbm.xml文件

ddl2hbm.bat

1、2步骤如hbm2java

3、运行ddl2hbm,会弹开一个图形界面

4、在Connection面板里,输入JDBC驱动的相关信息,如:

DriverClass:com.jnetdirect.jsql.JSQLDriver

ConnectionUrl:jdbc:JSQLConnect://服务器名/database=数据库名&user=用户名&password=密码(注重这是我所用的驱动支持将用户名和密码放在后面这种格式)

UserName:用户名(我的ConnectionUrl已填写该信息,这里可不填)

PassWord:密码(我的ConnectionUrl已填写该信息,这里可不填)

5、在Code面板里,可以定义包名

6、在Output面板里,可以定义文件输出路径

7、设置好后,进入Table面板,点击tables…按钮,假如数据库连接成功,则会弹开一个小面板,选择你要映射的数据库,点击确定即可,此时

Table面板里就会显示该数据库的所有表格,选择你需要的表,点击“Generate”,则在输出路径里生成*.hbm.xml和*.java文件

【注重的地方】

因为Sqlserver不支持hibernate里的sequences类型,在测试代码时会出错,你打开生成的*.hbm.xml

<id column="test_id" name="id" type="java.lang.Long">

<generator class="identity"/>//这里改成identity即可

</id>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有