`
calatustela
  • 浏览: 141577 次
  • 性别: Icon_minigender_1
  • 来自: 江苏●南通
社区版块
存档分类
最新评论

Middlegen-Hibernate 指南

阅读更多

作者: cd_eat cd_eat@yahoo.com.cn 于2005-5-31
本文转载不限,但请保持文章完整,谢谢。
如发现错误,请及时post到cd_eat@yahoo.com.cn ,以免误人子弟。

1. 简介
Middlegen是一个源代码产生工具,它可以从现有的数据库导出EJB,JDO,Hibernate等基础代码。你可以在 http://sourceforge.net/projects/middlegen 找到它,在 http://sourceforge.net/projects/hibernate 下载它的hibernate 插件。这里笔者将只介绍Middlegen-Hibernate。
通常在项目初期,我们使用 Middlegen-Hibernate从数据库Schema一次性导出hbm files。不过这些hbm files只是一些半成品,你很可能根据自己的需要修改其中的某些映射,但毫无疑问,Middlegen-Hibernate大大简化了你的工作。

2. Middlegen-Hibernate 的自动历史记录
当你第N次使用Middlegen-Hibernate的时候发现前几次的修改仍然有效,不要惊慌。在Middlegen-Hibernate/src 目录下会默认会有airline-prefs.properties 这样一个文件,打开看看...你是否已经会心一笑?Middlegen-Hibernate 会通过类似的相应文件对你每次使用情况进行记录。相关的配置方法请参照 “build.xml 常用配置”一节。

3. build.xml 常用配置
23 行左右:
]>
设置 Middlegen-Hibernate 要加载那个配置文件,不用多说,看一眼就明白了。

33 行左右:
<property value="oracle_school_topi" name="name"></property>
在 Middlegen-Hibernate 的自动历史记录 一节中已介绍 Middlegen-Hibernate 的自动历史记录(好长的一句废话)。Value属性值是项目名称,当然也对应着要使用的记录文件的名字。
(1) 当你开始一个新项目的时候,建议设置新项目名。
(2) 当你要使用下面将要介绍的自定义 java type mapper 时,强烈建议设置新项目名,或者将现有相应记录文件清空,否则你自定义的 JAVA TYPE MAPPER 很有可能起不到作用。

39 行左右:
<property value="true" name="gui"></property>
如果真的决定不想看 Middlegen-Hibernate的图形界面,改成false。Middlegen-Hibernate 会根据你的配置直接生成hbm files 而不会出现图形界面。

51 行左右:
<property value="d:\mid5\" name="build.gen-src.dir"></property>
Hbm映射文件的输出路径,改不改无所谓,不要生成之后找不到就可以了。

158 行左右:

package org.cd_eat.mapping;

import middlegen.javax.JavaColumn;
import middlegen.javax.Sql2Java;

public class Sample_SQL_Java_Mapper
    implements middlegen.plugins.hibernate.interfaces.JavaTypeMapper {
  public Sample_SQL_Java_Mapper() {
  }

  /**
   * 实现接口
   * @param javaColumn JavaColumn
   * @return String
   */
  public String getPreferredJavaType(JavaColumn javaColumn) {
    int i = javaColumn.getSqlType();
    int j = javaColumn.getSize();
    int k = javaColumn.getDecimalDigits();
    String javaTypeStr = null;
    if (i == 2 || i == 4 || i == 5 || i == 6 || i == 8 || i == -5 || i == -6 ||
        i == -7) {
      javaTypeStr = "java.lang.Integer";
    }
    else if (i == 1 || i == 12) {
      javaTypeStr = "java.lang.String";
    }
    else if (i == 91 || i == 92 || i == 93 || i == -100) {
      javaTypeStr = "java.sql.Date";
    }
    else if (i == 2004) {
      javaTypeStr = "java.sql.Blob";
    }
    else if (i == 2005) {
      javaTypeStr = "java.sql.Clob";
    }
    else {
      javaTypeStr = Sql2Java.getPreferredJavaType(i, j, k);
      if (javaTypeStr == null)
        javaTypeStr = "java.lang.Object";
    }
    return javaTypeStr;
  }

}
 


代码很简单,不需要解释,记得修改javaTypeMapper=”org.cd_eat.mapping. Sample_SQL_Java_Mapper”。

 

============================================

ANT 下载,ant的配法

ANT下载地址:http://www.apache.org/dist/ant/binaries/

ant的配法:
1。解压ant的包到本地目录。
2。在环境变量中设置ANT_HOME,值为你的安装目录。
3。在环境变量中设置JAVA_HOME,值为你的jdk安装目录。
4。把ANT_HOME/bin加到你系统的path目录中去。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics