项目最近改造成了多模块项目,再使用MybatisGenerator的时候,发现执行不报错,但是就是不生成文件。仔细分析了generatorConfig.xml配置文件,发现需要修改dao、entity、mapper三处的targetProject值。需要加入新的子模块的名字。
正确的如下图所示:
<!-- 生成模型的包名和位置 -->
<javaModelGenerator targetPackage="com.xxx.main.entity" targetProject="ins-ssp-service-main/src/main/java">
<!-- 是否允许子包 -->
<property name="enableSubPackages" value="false"/>
<!-- 是否清理从数据库中查询出的字符串左右两边的空白字符 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成的映射文件包名和位置 -->
<sqlMapGenerator targetPackage="mapper" targetProject="ins-ssp-service-main/src/main/resources">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!-- 生成DAO的包名和位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.xxx.main.dao"
targetProject="ins-ssp-service-main/src/main/java">
<property name="enableSubPackages" value="false"/>
</javaClientGenerator>
主要在targetProject里加上ins-ssp-service-main
子模块名字。注意,值不已/
开头,否则也会生成不出来文件。
更多mybatis-generator使用可参考mybatis-generator生成的实体带数据表的字段注释,一看就会