开满天机
1.设置mapper文件重复生成时覆盖旧的文件将GeneratedXmlFile中isMergeable设置为false,实现方式:修改IntrospectedTableMyBatis3Impl.getGeneratedXmlFiles方法构造xml文件时传入参数false。GeneratedXmlFile gxf = new GeneratedXmlFile(document,getMyBatis3XmlMapperFileName(), getMyBatis3XmlMapperPackage(),context.getSqlMapGeneratorConfiguration().getTargetProject(),false, context.getXmlFormatter());2.oracle主键生成方式直接将sql写在generatedKey的statement中。3.控制是否生成PrimaryKeyClassIntrospectedTable中的rules属性(接口Rules)中有三个方法:generatePrimaryKeyClass()、generateBaseRecordClass()、generateRecordWithBLOBsClass()控制是否生成三种Model文件。mybatis提供了三种ModelType: HIERARCHICAL("hierarchical")、FLAT("flat"),CONDITIONAL("conditional");对应三种modelRule:HierarchicalModelRules、FlatModelRules、ConditionalModelRules。通过在mybatis generator配置文件增加属性defaultModelType=“hierarchical”可以控制不生成PrimarykeyClass。这种配置会导致只包含联合主键的表不能生成Model,可以通过修改HierarchicalModelRules方法中的generateBaseRecordClass()改为返回true,则可生成对应Model。