从Abator迁移

此页面详细的MyBatis发生器(MBG)和Abator之间变化。对于大多数用户来说,这些迁移应该很简单。你只需要自定义类,去扩展Ibator的类提供的代码生成器或Java类型解析,就可以实现。

这些变化主要在三个大类:从必须要修改的配置到不太常见的配置。如果你正在使用XML配置MBG,特别要注意这些修改。如果你使用基于Java的配置,只需要做一下小的修改,从的XML变化的描述可以看出来。

必须修改的地方

  • 该DTD已经改变。新的DOCTYPE应该是
    <!DOCTYPE generatorConfiguration PUBLIC“ -  // mybatis.org//DTD MyBatis的发电机配置1.0 // EN”“http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd”>
  • <abatorConfiguration>元素被重命名为<generatorConfiguration>
  • <abatorContext>元素被重命名为<context>
  • <daoGenerator>元素被重命名为<javaClientGenerator>

注意修改的地方

  • MyBatis3现在是默认的运行时。
  • <context>元素必须要设置一个ID
  • generatorSet属性从<context>元素中删除,并更换成targetRuntime属性。此特性的有效值为Ibatis2Java2Ibatis2Java5 ,或MyBatis3 。MBG不支持针对旧版本的Abator配置 - 所以iBATIS的版本必须2.2.0或更高。
  • 该MBG类加载策略已大幅改变,我们建议您管理外部MBG运行时类路径。如果你的配置文件在类路径中,你必须做以下修改:
    • <generatorConfiguration>元素下面添加一个子元素<classPathEntry>来指定你的配置文件在位置。
    • <classPathEntry>元素不再允许作为<jdbcConnection>的子元素。
    • “rootClasspath”属性对<javaModelGenerator>元素不再有效。

修改较小的地方

  • type属性从<javaModelGenerator><sqlMapGenerator>元素中删除。MBG有提供一个完全不同的方式,让你可以自由的扩展。具体的扩展方法,点击扩展MBG查看。
  • JavaTypeResolver接口已发生变化,简化了许多。如果指定了一个自定义执行<javaTypeResolver>元素,必须要实现这个类。
  • ProgressCallback界面显著改变。如果实现了这个接口,对于一些其他的执行环境,则需要重写这个类的实现。