diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/GlobalConfig.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/GlobalConfig.java index 119f07b4..f4e41620 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/GlobalConfig.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/config/GlobalConfig.java @@ -17,6 +17,7 @@ package com.mybatisflex.codegen.config; import com.mybatisflex.codegen.template.EnjoyTemplate; import com.mybatisflex.codegen.template.ITemplate; +import com.mybatisflex.core.BaseMapper; import com.mybatisflex.core.util.StringUtil; import java.io.Serializable; @@ -63,6 +64,9 @@ public class GlobalConfig { //mapper 的包名 private String mapperPackage; + //自定义 mapper 的父类 + private Class mapperSupperClass = BaseMapper.class; + //数据库表前缀,多个前缀用英文逗号(,) 隔开 private String tablePrefix; @@ -205,6 +209,14 @@ public class GlobalConfig { this.mapperPackage = mapperPackage; } + public Class getMapperSupperClass() { + return mapperSupperClass; + } + + public void setMapperSupperClass(Class mapperSupperClass) { + this.mapperSupperClass = mapperSupperClass; + } + public String getTablePrefix() { return tablePrefix; } diff --git a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/entity/Table.java b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/entity/Table.java index 4058b964..a39fd612 100644 --- a/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/entity/Table.java +++ b/mybatis-flex-codegen/src/main/java/com/mybatisflex/codegen/entity/Table.java @@ -253,6 +253,14 @@ public class Table { return tableAnnotation.append(")").toString(); } + public String buildMapperImport(){ + return globalConfig.getMapperSupperClass().getName(); + } + + public String buildMapperName(){ + return globalConfig.getMapperSupperClass().getSimpleName(); + } + @Override public String toString() { diff --git a/mybatis-flex-codegen/src/main/resources/templates/enjoy/mapper.tpl b/mybatis-flex-codegen/src/main/resources/templates/enjoy/mapper.tpl index 8901a05f..25c8e151 100644 --- a/mybatis-flex-codegen/src/main/resources/templates/enjoy/mapper.tpl +++ b/mybatis-flex-codegen/src/main/resources/templates/enjoy/mapper.tpl @@ -1,8 +1,8 @@ package #(globalConfig.mapperPackage); -import com.mybatisflex.core.BaseMapper; +import #(table.buildMapperImport()); import #(globalConfig.entityPackage).#(table.buildEntityClassName()); -public interface #(table.buildMapperClassName()) extends BaseMapper<#(table.buildEntityClassName())> { +public interface #(table.buildMapperClassName()) extends #(table.buildMapperName())<#(table.buildEntityClassName())> { } diff --git a/mybatis-flex-codegen/src/test/java/com/mybatisflex/codegen/test/GeneratorTest.java b/mybatis-flex-codegen/src/test/java/com/mybatisflex/codegen/test/GeneratorTest.java index e5ce34f1..bd530061 100644 --- a/mybatis-flex-codegen/src/test/java/com/mybatisflex/codegen/test/GeneratorTest.java +++ b/mybatis-flex-codegen/src/test/java/com/mybatisflex/codegen/test/GeneratorTest.java @@ -55,6 +55,7 @@ public class GeneratorTest { //设置 mapper 类的包名 globalConfig.setMapperPackage("com.test.mapper"); + globalConfig.setMapperSupperClass(MyBaseMapper.class); TableConfig tableConfig = new TableConfig(); diff --git a/mybatis-flex-codegen/src/test/java/com/mybatisflex/codegen/test/MyBaseMapper.java b/mybatis-flex-codegen/src/test/java/com/mybatisflex/codegen/test/MyBaseMapper.java new file mode 100644 index 00000000..057a5a93 --- /dev/null +++ b/mybatis-flex-codegen/src/test/java/com/mybatisflex/codegen/test/MyBaseMapper.java @@ -0,0 +1,6 @@ +package com.mybatisflex.codegen.test; + +import com.mybatisflex.core.BaseMapper; + +public interface MyBaseMapper extends BaseMapper { +}