Mybatis自动生成的BO对象继承公共父类(BO中过滤掉公共属性)

时间:2022-12-26 16:34:41

使用mybatis的代码生成工具:mybatis-generator,如果自动生成的BO都有公共的属性,则可以指定这些BO继承父类(父类中定义公共属性)

1、定义父类

注意:属性public,不要使用private,让子类BO可以直接操作它

2、BO打jar包,并在mybatis-generator-maven-plugin中指定依赖

注意:一定要把依赖的BO先打jar包

             <plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/mybatis-generator.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.3.MDX</version>
</dependency>
<!-- Mybatis自动生成的BO继承公共父类,因此依赖jar -->
<dependency>
<groupId>com.omniprimeinc.acct</groupId>
<artifactId>acct-services</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
</plugin>

3、mybatis-generator配置中指定父类

<property name="rootClass" value="com.XX.XX.XX.model.CommonDO"/>
         <table tableName="fundin"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="true"
selectByExampleQueryId="false">
<property name="rootClass" value="com.omniprimeinc.acct.services.model.CommonDO"/>
<generatedKey column="id" sqlStatement="SELECT LAST_INSERT_ID()"/>
</table>

4、生成

参考:

Mybatis中BO支持父类

解决BO继承后属性仍然存在的问题