分享
 
 
 

hibernate2对SQL Server2000的支持以及从db2xml,xml2java的完整配置过程

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

没法子,我的机子慢了点,近期也找不到Oracle817的安装程序,我懒.只好用SQL Server 2000了.以前我是用Oracle做数据库,配置过程相当简单,这次用SQL server 2000之后,只有一个感觉,"难受",忙东忙西的,搞了一天.希望有类似情况的朋友能看到这遍文章.

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

hibernate应用配置说明

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

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

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>

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

实际应用

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

开发环境Jbuilder9

【配置】

1、点击“TOOLS”-“Configure JDK”-,添加hibernate-2.0/lib里如下jar文件

JSQLConnect.jar

hibernate2.jar

commons-beanutils.jar

commons-collections.jar

commons-dbcp.jar

commons-lang.jar

commons-logging.jar

commons-pool.jar

dom4j.jar

cglib-asm.jar

【应用】

新建工程testhiber

新建一个table1.java文件,可建一个空的

将你上面所映射的*.xml和*.java文件考到JB的工程文档里的SRC目录

编译,可看到classes里有*.class文件,如果没有*.xml,则将生成的*.xml考到所对应的目录

将hibernate-2.0/src/hibernate.properties考到classes目录

编辑hibernate.properties

1、属性文件里默认连接数据库是:HSQLDialect,所以需先该一下

## HypersonicSQL ,注销掉其下面的内容,大概在73行

2、修改## JSQL Driver的属性,hibernate对MS SQL默认用的JSQLConnect驱动,大概在103行

## MS SQL Server

#hibernate.dialect net.sf.hibernate.dialect.SybaseDialect

#hibernate.connection.username sa

#hibernate.connection.password

hibernate.dialect net.sf.hibernate.dialect.SybaseDialect

hibernate.connection.username sa

hibernate.connection.password 12345

## JSQL Driver

#hibernate.connection.driver_class com.jnetdirect.jsql.JSQLDriver

#hibernate.connection.url jdbc:JSQLConnect://WL99LCX27

hibernate.connection.driver_class com.jnetdirect.jsql.JSQLDriver

hibernate.connection.url jdbc:JSQLConnect://gamebus/database=test

其余的配置自己看他的在线文档

来自:http://www.cjsdn.com/post/view?bid=2&id=41689&tpg=1&ppg=1&sty=1&age=0#41689

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有