mybatis generator 自动化工程,数据库字段更新,生成的model不更新的bug,而且是部分表。
这个问题我排查了很久,最后发现是因为我的数据库中有多个用户,而这个表名存在多个用户下,会出现问题。
解决方案如下:
<table schema="DB2ADMIN" tableName="TB_%" >
</table>
就是在table中加入schema ,制定需要的schema
<javaClientGenerator targetPackage="com._520it.mybatis.mapper" type="ANNOTATEDMAPPER" targetProject="src/main/java">
<!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
<property name="enableSubPackages" value="false"/>
<!-- 可以为所有生成的接口添加一个父接口,但是MBG只负责生成,不负责检查
<property name="rootInterface" value=""/>
-->
</javaClientGenerator>
这时,需要注意 enableSubPackages的属性,如果是true的话,你会发现你生成的包 下还有一个shema的子包,而且Java的model上会带有 shema,看看你是否需要。建议去除