org.mybatis.generator.api.IntrospectedTable
IntrospectedTable是MBG提供的一个比较基础的扩展类,相当于可以重新定义一个runtime,同时,IntrospectedTable也是一个比较低级的扩展点,比较适合做低级的扩展,比如想使用FreeMarker或者Velocity来生成代码;
如果你要通过继承IntrospectedTable完成扩展,你需要自己来实现生成XML和Java代码的所有代码,在该类中提供了一个org.mybatis.generator.internal.rules.Rules类,来提供基础的生成规则的查询;
在MBG中,提供了几种默认的IntrospectedTable的实现,其实在context上设置的runtime对应的就是不同的IntrospectedTable的实现,下面就是几种runtime和对应的IntrospectedTable关系:
- MyBatis3 (default):org.mybatis.generator.codegen.mybatis3.IntrospectedTableMyBatis3Impl
- MyBatis3Simple:org.mybatis.generator.codegen.mybatis3.IntrospectedTableMyBatis3SimpleImpl
- Ibatis2Java2:org.mybatis.generator.codegen.ibatis2.IntrospectedTableIbatis2Java2Impl
- Ibatis2Java5:org.mybatis.generator.codegen.ibatis2.IntrospectedTableIbatis2Java5Impl
注意,其中的IntrospectedTableMyBatis3Impl和IntrospectedTableMyBatis3SimpleImpl两个类是值得我们在自己扩展前仔细阅读的;
当扩展了自己的IntrospectedTable之后,就可以在context的runtime中配置自己的实现类的全限定名即可。