修改表结构后,自动生成(mybatis-generator)时遇到的坑
没想到几个月后,又回看然后用到了,这次是新建了一个数据表,需要配置让微服务自动生成Mapper.java、entity和Mapper.xml
比修改表结构多一个步骤,需要在mybatis-generator.xml里添加<table> xxxx </table>,里面还可以定义需要自动生成哪些sql等信息。
--------------------------------------------------------------------------------------------------------------- 1更 ----------------------------------------------------------------------------------------------------------------
我们的项目是springboot搭起来的,按照接口API -> Service -> Common(Manager、Mapper、dao)这种Maven的依赖结构,所以负责配置连接数据库,自动生成文件的mybatis-generator.xml也就从common包里找。现在问题的场景是项目此前已经按照数据表自动生成了mapper内容,现在由于bug或者业务调整要改变表结构,就要注意以下几个坑:
1、要找到common文件夹下的generator.xml文件释放相应表的<table >注释,再点击Plugin -> mybatis-generator -> m 右键进行Run Maven Build。
2、一般控制台出现“BUILD SUCCESS”就是构建成功了,不急,我们再去git中(这里我用了一个名为TortoiseGitMerge的git可视化软件)查看哪些文件被自动修改了,这里针对该项目,Example.java文件中以前是BaseGeneratedCriteria的方法名都被修改成了GeneratedCriteria,我们要改回来,不然阿里规约扫描过不了,不能合并代码,这次发现改了3处。
3、还有Mapper.java文件中如果有自己添加的数据库操作,会被自动生成覆盖掉,也可以从TortoiseGitMerge中revert回来,另外,如果要一个部分一个部分的改,可以使用Use this text block功能
欢迎大伙补充~