Middlegen-Hibernate

来源:互联网 发布:ticwatch下载软件 编辑:程序博客网 时间:2024/05/14 13:21

最近看了一本关于Hibernate开发的书.自己尝试了一下.

1.首先准备环境,以下Hibernate及其插件的下载地址http://prdownloads.sourceforge.net/hibernate/?sort_by=date&sort=desc

2.Hibernate基础代码包括

  • POJO
    POJO在Hibernate里应该理解成数据库表所对应的Domain Object.POJO就是“Plain Ordinary Java Object“ 无格式的普通Java对象.可以理解为不包含逻辑代码的值对象(Value Object)

    public class TUser implements Serializable
    {
            private String name;

            public User(String name)
           {
                   this.name = name;
            }

            /** default constructor */
            public User()
           {
           }

            public String getName()
           {
                   return this.name;
           }

            public void setName(String name)
           {
                  this.name = name;
           }
    }


  • Hibernate映射文件
    Hibernate 从本质上来讲是一种“对象-关系型数据映射”(Object Relational
    Mapping 简称ORM)。前面的POJO在这里体现的就是ORM中Object层的语义,
    而映射(Mapping)文件则是将对象(Object)与关系型数据(Relational)相关联的纽带,在Hibernate中,映射文件通常以“.hbm.xml”作为后缀。

3.由数据库来产生基础代码
    Hibernate官方提供的MiddleGen for Hibernate 和Hibernate_Extension工具包,我
    以很方便的根据现有数据库,导出数据库表结构,生成ORM和POJO。下面就来做个示例.

4.接压缩MiddleGen-Hibernate到 C:/work/MiddleGen.

5.接压缩Hibernate 到 C:/work/Hibernate.

6.接压缩Extentions到 c:/work/Extentions

7.进入MiddleGen目录的/config/database子目录.我们这里用的是Sqlserver2000,所以选择mssql.xml

   打开 mssql.xml

   <property name="database.script.file"           value=""/>
   <property name="database.driver.file"           value="${lib.dir}/Sprinta2000.jar"/>
   <property name="database.driver"                value="com.inet.tds.TdsDriver"/>
   <property name="database.url"                   value="jdbc:inetdae7:localhost?database=airline"/>
   <property name="database.userid"                value="sa"/>
   <property name="database.password"              value="sa"/>
   <property name="database.schema"                value=""/>
   <property name="database.catalog"               value=""/>

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

这里修改一下

我们把下载好的jdbc for sqlserver2000安装了后,把安装目录的/lib目录下面的3个jar文件放到Middlegen的lib目录里面.

         <property name="database.driver.file"           value="${lib.dir}/mssqlserver.jar"/>  //驱动jar文件
         <property name="database.driver"                value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>//用winrar打开上面的jar文件就可以看到SQLServerDriver.class在jar文件中的路径了
         <property name="database.url"                   value="jdbc:microsoft:sqlserver://localhost:1433;database=Northwind"/>//数据库的路径.前面的“jdbc.microsoft.sqlserver“
         <property name="database.userid"                value="sa"/>//用户名
        <property name="database.password"              value=""/>//密码
        <property name="database.schema"                value="dbo"/>//一定要写,很重要
        <property name="database.catalog"               value="Northwind"/>//一定要写很重要

8.配置build.xml文件(下面只是个人做一些测试,可以根据自己的需要来进行修改)

  • 查找关键字 ”!ENTITY”,得到:
            <!DOCTYPE project [
                     <!ENTITY database SYSTEM   "file:./config/database/hsqldb.xml">
            ]>

                  因为默认MiddleGen是采用hsql.xml,所以修改成我们的mssql.xml

                  <!DOCTYPE project [
                            <!ENTITY database SYSTEM   "file:./config/database/hsqldb.xml">
                  ]>

  • 修改程序的name

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

               修改成

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

  • 修改输出目录
        查找“name="build.gen-src.dir"“
       <property name="build.gen-src.dir" value="${build.dir}/gen-src"/>

             修改成
             <property name="build.gen-src.dir" value="c:/sample"/>

  • 修改Package 名称

    查找“<hibernate“

           <hibernate
                     destination="${build.gen-src.dir}"
                      package="${name}.hibernate"
                      genXDocletTags="false"
                     genIntergratedCompositeKeys="false"
                     javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
          />

          把pachage属性修改为

          <hibernate
                     destination="${build.gen-src.dir}"
                      package="org.hibernate.sample"
                      genXDocletTags="true"
                     genIntergratedCompositeKeys="false"
                     javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
          />          

          这里的genXDocletTags是设置在生成代码的时候是否生成XDoclettags,这个很重要,我们设置成true.

9.配置ant的路径,解压缩下载的ant后,比如c:/ant

  我们右击我的电脑->熟悉->高级->编辑path的熟悉

  在后面加入c:/ant/bin

10.点击开始-->运行-->cmd

        cd到我们的MiddleGen目录 ,运行ant

        如果提示连接数据库失败的话那就是mssql.xml没有配置好

        如果显示连接数据库成功,没有找到table的话就是schemas和catalogs没有配置对了.

11.如果没有出错的话会启动一个界面,然后点击最上面的generae就可以生成POJO文件了.


 

作者Blog:http://blog.csdn.net/joohnnie/
原创粉丝点击