前两天用generator生成java代码时发现,生成的javabean和数据库里的字段对应不上,不是少几个就是有几个字段不一样,感觉很怪异,后来发现日志里边这个表转换成bean是日志打印了好几遍,所有怪事都是有原因的,我开始研究generator源码。
用IDEA跟踪断点,查找对应表的内容,发现,代码里set里存的表信息有多个,表名是同一实例下的其他数据库,因为是本地的数据库,有多个类似的用户,所以generator扫描了该实例下所有的表,然后表名相同的就都导出了bean。从网上找了些资料,在generator配置文件中,table节点下添加属性schema,对应数据库用户名,导出后就只有改数据库下的表了,只不过在配置的导出java文件的地址下又添加了一级目录,就是对应数据库用户名。
<table schema="DCMSYA_LIVE" tableName="DCM_BMS_DICTORYDETAIL"
domainObjectName="DictoryDetail1" enableCountByExample="false"
enableUpdateByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" selectByExampleQueryId="false"></table>