软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件开发专栏>>java>>正文
hibernate应用配置说明-middlegen和hbm2java的配置
文章出处:网络 作者:不详 发布时间:2006-04-28
--  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>

站内搜索
相关文章
◎用Java实现磁盘文件以大对象二进制文件形式存储到Oracle数据库
◎java经典问题:传值还是传引用
◎将数据库操作封装到Javabean
◎以小博大Java性能优化技巧集锦
◎Java平台上的CRM系统
◎应用Java技术实现数据库应用系统
◎Windows下JAVA环境变量的设置祥解
◎java经典网址
◎java基础知识问答—java入门与加深二 (2)
◎java基础知识问答—java入门与加深二 (1)
◎MVC设计模式
◎Struts行为测试框架StrutsTestCase实战
◎Java学习之路:不走弯路,就是捷径
◎JRockit JVM 中的内存泄漏检测
◎基于JDK5.0的一些Thread总结
◎消除内存泄漏
◎POJO应用架构:Spring与EJB 3.0的对比
◎构建高性能J2EE应用的10个技巧
◎有可能挑战Java开发优势的四种技术
◎六种异常处理的陋习
◎多处理器平台上J2EE应用的内存争用
◎MVC模式在j2me项目中的应用(二)
◎MVC模式在j2me项目中的应用(一)
◎J2ME程序开发新手入门九大要点
◎精通J2ME中的Hello World
◎浅析Java多线程程序设计机制
◎J2EE架构学习者的6个最佳实践
◎Tomcat在Windows 2000下的安装配制
◎KJava在移动设备中的应用
◎Java-IDE环境
◎理解Java应用服务器的七种武器
◎Java嵌入式开发之二
◎Java嵌入式开发之一
◎Java学习从入门到精通
◎凤凰浴火JBuilder2006新功能赏析
◎UML技术在基于Web的应用系统中的应用
◎Oracle9i 数据库控制文件
◎J2EE Server下的第一个EJB程序
◎Java CORBA入门
◎CORBA 入门
◎Struts 框架
◎Struts标记库
◎ejb入门
◎Java语言编码规范
◎J2EE从零开始之J2EE平台简介
◎J2EE从零开始之测试平台安装
◎J2EE从零开始之准备工作
◎J2EE从零开始之EJB开发过程
◎J2EE从零开始之企业Beans(EJB)简介
◎J2EE从零开始之EJB(1)
热门文章
◎Java学习从入门到精通
◎Windows下JAVA环境变量的设置祥解
◎Struts标记库
◎Struts 框架
◎Java学习之路:不走弯路,就是捷径
◎JAVA基础测试中异常问题汇总
◎凤凰浴火JBuilder2006新功能赏析
◎java经典网址
◎J2EE从零开始之J2EE平台简介
◎MVC设计模式
◎将数据库操作封装到Javabean
◎J2EE从零开始之EJB(1)
◎ejb入门
◎Java常见问题集锦
◎J2EE从零开始之EJB开发过程
◎Java语言编码规范
◎消除内存泄漏
◎Hibernate如何配置操作多个数据库
◎J2EE从零开始之EJB(2)
◎java基础知识问答—java入门与加深二 (1)
◎J2EE从零开始之测试平台安装
◎以小博大Java性能优化技巧集锦
◎java经典问题:传值还是传引用
◎java基础知识问答—java入门与加深二 (2)
◎Oracle9i 数据库控制文件
◎J2EE从零开始之实体EJB
◎Struts行为测试框架StrutsTestCase实战
◎用Java实现磁盘文件以大对象二进制文件形式存储到Oracle数据库
◎J2EE从零开始之准备工作
◎Tomcat在Windows 2000下的安装配制
◎J2EE从零开始之企业Beans(EJB)简介
◎Java CORBA入门
◎J2EE Server下的第一个EJB程序
◎六种异常处理的陋习
◎应用Java技术实现数据库应用系统
◎JRockit JVM 中的内存泄漏检测
◎J2EE架构学习者的6个最佳实践
◎UML技术在基于Web的应用系统中的应用
◎Java平台上的CRM系统
◎Java-IDE环境
◎POJO应用架构:Spring与EJB 3.0的对比
◎有可能挑战Java开发优势的四种技术
◎J2ME程序开发新手入门九大要点
◎CORBA 入门
◎Java嵌入式开发之一
◎KJava在移动设备中的应用
◎理解Java应用服务器的七种武器
◎构建高性能J2EE应用的10个技巧
◎基于JDK5.0的一些Thread总结
◎MVC模式在j2me项目中的应用(一)

Google提供的广告