从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属性。此特性的有效值为Ibatis2Java2 , Ibatis2Java5 ,或MyBatis3 。MBG不支持针对旧版本的Abator配置 - 所以iBATIS的版本必须2.2.0或更高。
- 该MBG类加载策略已大幅改变,我们建议您管理外部MBG运行时类路径。如果你的配置文件在类路径中,你必须做以下修改:
- 在<generatorConfiguration>元素下面添加一个子元素<classPathEntry>来指定你的配置文件在位置。
- <classPathEntry>元素不再允许作为<jdbcConnection>的子元素。
- “rootClasspath”属性对<javaModelGenerator>元素不再有效。
修改较小的地方
- type属性从<javaModelGenerator>和<sqlMapGenerator>元素中删除。MBG有提供一个完全不同的方式,让你可以自由的扩展。具体的扩展方法,点击扩展MBG查看。
- JavaTypeResolver接口已发生变化,简化了许多。如果指定了一个自定义执行<javaTypeResolver>元素,必须要实现这个类。
- ProgressCallback界面显著改变。如果实现了这个接口,对于一些其他的执行环境,则需要重写这个类的实现。