代码部分如上所示,请注意 javaModelGenerator 节点的 rootClass 属性部分,这一部分其实就将基础属性进行抽离,生成出来的代码部分,如果属性存在于 BaseEntity中,则不对这一部分属性进行生成:
rootClass
:设置所有实体类的基类。如果设置,需要使用类的全限定名称。并且如果MBG能够加载rootClass
,那么MBG不会覆盖和父类中完全匹配的属性。匹配规则:
- 属性名完全相同
- 属性类型相同
- 属性有
getter
方法 - 属性有
setter
方法
需要注意的是,rootClass 属性对应的 value 部分的代码,应该在此项目依赖的一个jar包内存在着,否则根据源码,会找不到这个BaseEntity 部分, 本例中,BaseEntity的代码写在 common模块中, mybatis-generator 写在persist模块中,persist模块依赖common模块,这样的话,就没有任何问题,否则会一直失效。