需求:MybatisGenerator 单次根据多个模板生成多个实体类 实现问题
实现目录结构效果
entityPackage
queryPackage--->queryEntity
deletePackage--->deleteEntity
updatePackage--->updateEntity
selectPackage---->selectEntity
要求:有过MybatisGenerator代码生成经验,遇到类似问题
需求:MybatisGenerator 单次根据多个模板生成多个实体类 实现问题
实现目录结构效果
entityPackage
queryPackage--->queryEntity
deletePackage--->deleteEntity
updatePackage--->updateEntity
selectPackage---->selectEntity
要求:有过MybatisGenerator代码生成经验,遇到类似问题
对于这个问题,可以采用MybatisGenerator的插件进行解决。
首先需要在MybatisGenerator的配置文件(通常是generatorConfig.xml)中配置多个Table来对应不同的实体类,如下所示:
<table schema="" tableName="example_table1" domainObjectName="Example1">
<property name="queryPackage" value="com.example.query"/>
<property name="deletePackage" value="com.example.delete"/>
<property name="updatePackage" value="com.example.update"/>
<property name="selectPackage" value="com.example.select"/>
</table>
<table schema="" tableName="example_table2" domainObjectName="Example2">
<property name="queryPackage" value="com.example.query"/>
<property name="deletePackage" value="com.example.delete"/>
<property name="updatePackage" value="com.example.update"/>
<property name="selectPackage" value="com.example.select"/>
</table>
其中,每个Table配置了不同的实体类名和对应的包名(queryPackage、deletePackage、updatePackage、selectPackage)。
接下来,在generatorConfig.xml中添加对应的插件,用于指定实体类所在的包路径:
<plugin type="org.mybatis.generator.plugins.EntityPackagePlugin">
<property name="targetPackage" value="com.example"/>
<property name="queryPackage" value="query"/>
<property name="deletePackage" value="delete"/>
<property name="updatePackage" value="update"/>
<property name="selectPackage" value="select"/>
</plugin>
其中,targetPackage指定的是实体类的根包路径(entityPackage),queryPackage、deletePackage、updatePackage、selectPackage分别指定四个不同的实体类所在的包路径。
最后,运行MybatisGenerator即可生成对应的实体类文件,并按照指定的包路径进行组织。