以SQL Server配置Middlegen和extensions产生hbm和POJO

1、      所使用的软件及其版本如下:

ant-1.6.5

Middlegen-Hibernate-r5

hibernate-extensions-2.1

hibernate-2.1.6

以上均解压到D盘



2、      配置ant

将ant考到D:根目录
环境变量里加上ANT_HOME=D:\\ant

PATH=D:\\ant\\bin;
在DOS命令行下输入ant, 如果出现如下提示,就说明ant已配置成功了:

Buildfile: build.xml does not exist!
Build failed



3、      配置Middlegen-Hibernate:

3.1 配置mssql.xml文件,此文件用来配置SQL Server数据库连接

将SQL Server三个jar文件(mssqlserver.jar; msbase.jar; msutil.jar)copy到Middlegen-Hibernate-r5\lib目录中。

在Middlegen-Hibernate-r5\config\database目录中有一个mssql.xml文件,是用来配置SQL Server数据库的连接的。内容修改如下(红色为修改部分)为:

<property name="database.script.file" value="${src.dir}/sql/${name}- mssql.sql"/>

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

<property name="database.driver"                value=" com.microsoft.jdbc.sqlserver.SQLServerDriver"/>

<!—粗体部分的结构为: //数据库服务器名或IP;database=要操作的数据库名 -->

<property name="database.url"                   value=" jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind"/>

<property name="database.userid"                value=" admin"/>

<property name="database.password"              value=" admin"/>

<!-- In MS SQL database.schama is the owner of the tables as displayed by SQL Server Enterprise Manager -->

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

<!-- In MS SQL database.catalog is the name of database such as 'Northwind' -->

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

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



3.2  配置Middlegen-Hibernate-r5的ant运行文件build.xml

<!DOCTYPE project [

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

]>

指出使用的数据库配置文件。

<project name="Middlegen Hibernate" default="all" basedir=".">

   <property file="${basedir}/build.properties"/>

   <property name="name" value="sample"/>

指出生成的*.hbm.xml输出的路径:

   <property name="build.gen-src.dir"              value=" C:/sample"/>

配置hibernate:

         <hibernate

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

package=" org.hibernate.sample"  ——————指出hbm所在的包的位置。

            genXDocletTags=" true" ——————指出hbm.xml中是否需要XDoclet Tags。

            genIntergratedCompositeKeys="false"

            javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"

         />

配置Middlegen:

      <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}"

       includeViews="true"——————指出包括视图。

      >



4、      运行Middlegen-Hibernate:

在Middlegen-Hibernate目录下运行ant,进入Middlegen-Hibernate的图形界面。可以设置表,和字段的特性。然后按Genarate,产生hbm.xml文件。



5、      配置hibernate-extensions

5.1 在hibernate-extensions\tools\bin目录下有3个工具,他们的功能如下:

5.1.1 class2hbm.bat

根据POJO class 生成映射文件

也就是根据你自己对应表所写的java文件,生成相应的*.hbm.xml文件;


5.1.2 ddl2hbm.bat

由数据库导出库表结构,并生成映射文件以及POJO。这个功能与MiddleGen 的功能重叠,也不够成熟(实际上已经被废弃,不再维护);


5.1.3 hbm2java.bat

根据映射文件生成对应的POJO,即根据Middlegen生成的*.hbm.xml文件再生成相应的*.java文件



5.2 在hibernate-extensions-2.1.2\tools\bin目录有一个setenv.bat文件,改变其内容为:

set JDBC_DRIVER= D:\Middlegen-Hibernate-r5\lib\mssqlserver.jar

set HIBERNATE_HOME =..\..\hibernate-2.1.6
set CORELIB=%HIBERNATE_HOME%\lib

set LIB=..\lib

set PROPS=%HIBERNATE_HOME%\src

set CP=%JDBC_DRIVER%;%PROPS%;%HIBERNATE_HOME%\hibernate2.jar;%CORELIB%\commons-logging-1.0.4.jar;%CORELIB%\commons-collections-2.1.1.jar;%CORELIB%\commons-lang-1.0.1.jar;%CORELIB%\cglib-full-2.0.2.jar;%CORELIB%\dom4j-1.4.jar;%CORELIB%\odmg-3.0.jar;%CORELIB%\xml-apis.jar;%CORELIB%\xerces-2.4.0.jar;%CORELIB%\xalan-2.4.0.jar;%LIB%\jdom.jar;%LIB%\..\hibernate-tools.jar



6、      运行hibernate-extensions,根据hbm.xml产生POJO文件

在DOS中运行hbm2java c:\sample\org\hibernate\sample\*.xml --output=c:\sample\

你可能感兴趣的:(sql,xml,Hibernate,ant,SQL Server)