修改mybatis-generate源码实现实体类字段上方加上数据库中填写的注释

时间:2024-04-11 08:41:51
      当数据库表设计好之后我们使用mybatis代码自动生成插件生成实体类、接口、mapper.xml文件可以节约很多时间,但是如果原生的不加修改,生成的实体类并没有把我们表中的字段注释给加上,这样的话在代码里如果想知道属性的具体意思再去表中查看就有点麻烦,如果再去一个一个的把注释粘上去也相有点麻烦,所以经过查资料想要把源码修改一下达到在生成实体类时把注释也加上。这里参考了userwxy的资料,在此对他表示真诚的感谢!

        第一步下载mybatis-generator-core-1.3.2的源码,解压后粘到已创建的maven项目里,这样我们可以对源码进行修改。

修改mybatis-generate源码实现实体类字段上方加上数据库中填写的注释

有一点注意:可能源码粘过来后会有报错,这时需要在pom.xml文件中引入两个需要用到的jar

修改mybatis-generate源码实现实体类字段上方加上数据库中填写的注释

第二步:打开api.dom.java里面的Field类,添加一个注释的属性以及set,get方法:

修改mybatis-generate源码实现实体类字段上方加上数据库中填写的注释

然后:添加:if (remarks != null && remarks.length() > 0){
                          sb.append("\t/** ").append(remarks).append(" */").append("\r\n");
                     }

这样就能在生成的实体类的属相上方加上:形如 /** xxxxxx */ 的注释

修改mybatis-generate源码实现实体类字段上方加上数据库中填写的注释

第三步:为新增的remarks赋值,在codegen包下面的AbstractJavaGenerator的getJavaBeansField方法,把字段名类型赋值给Field的同时把remarks也加上:

修改mybatis-generate源码实现实体类字段上方加上数据库中填写的注释

第四步:防止生成的注释是乱码:



修改mybatis-generate源码实现实体类字段上方加上数据库中填写的注释我最后没有重新编译而是把修改后的文件都保存后,用修改后这几个文件生成的.class文件替换mybatis-generator-core-1.3.2.jar中相应的.class文件;

想拿到修改后的.class文件也很简单,只要打开eclipse的workspace目录找到该项目,然后在target目录里找到对应的文件;

最后拿这几个文件去替换掉mybatis-generator-core-1.3.2.jar中相应的.class文件就行了;

这是一个生成后的实体类:

修改mybatis-generate源码实现实体类字段上方加上数据库中填写的注释