mybatis generator 生成数据库注释等问题

来源:互联网 发布:702qq.com域名更改为 编辑:程序博客网 时间:2024/05/29 18:05
mybatis代码生成器生成数据库的注释,找了半天没有找到非常详细可用的,于是我打算自己整理一份,分享出来,以下是本人亲身经历的问题处理流程,实践有效。
前提:可以使用一般的mybatis generator 代码生成器 及配置各种基本注解,这些不是本文重点,不再过多叙述

1.在网上找了mybatis-generator-core 源码,通过分析后改动,源码里把数据库的表字段注释给注掉了,所以只配置generatorConfig.xml 这个是不管作用的。
下载源码
https://github.com/ppj117/mybatis-generator-core 
把添加 数据库注释的地修改一下
//根据 http://www.cnblogs.com/NieXiaoHui/p/6100895.html 这篇文章来详细了解源码哪里是有关注释掉数据库注解的
在源代码里找到 org.mybatis.generator.internal.DefaultCommentGenerator类,这个类中addClassComment这个方法 是标注中文注释的。为了使addClassComment生效,还得找到org.mybatis.generator.codegen.mybatis3.model.BaseRecordGenerator类,在大约60行的地方,在commentGenerator.addJavaFileComment(topLevelClass);后加一句:
commentGenerator.addClassComment(topLevelClass, introspectedTable,false);
这样自己的方法就调用到了,说明一下,仔细看一下源代码,会发现DefaultCommentGenerator类,会发现addClassComment方法有两个,一个加了boolean markAsDoNotDelete参数,一个没有加,你这里调用的如果不加false参数,就改DefaultCommentGenerator类中两个参数的addClassComment方法,我的样例中你会发现方法中传了参数也不管用,因为真正的源代码中是有这么一行的
然后addJavadocTag方法中是这么调用的

这样就把源码的注释给置为可用状态。

2.重新打包
生成 mybatis-generator-core-1.3.2.jar 后 ,运行提示没有主清单
打好jar包之后还需要更改清单文件的.
打开生成的jar,里面有一个MANIFEST.MF的文件把它打开,
然后有一行Main-Class,没有就加上。如:
Main-Class: org.mybatis.generator.api.ShellRunner

3.命令运行generatorConfig.xml文件,运行之后可能会提示
[ERROR] XML Parser Error on line 34: 元素类型为 "context" 的内容必须匹配 "(property*,plugin*,commentGenerator?,(connectionFactory|jdbcConnection),javaTypeResolver?,javaModelGenerator,sqlMapGenerator?,javaClientGenerator?,table+)"。
因为generatorConfig.xml 这个配置文件里的 属性信息没有按照上述顺序排列

4.如果想扩展,生成dao接口或者xml的名字,可以做如果操作 mybatis generator Mapper Dao
http://blog.csdn.net/isea533/article/details/52430691
PointDao.xml 和 PointMapper.xml 设置
在源码IntrospectedTable 类中 calculateJavaClientAttributes 这个方法里设置mapper or dao

//包含处理 Mapper 接口和 SqlProvider 的代码protected void calculateJavaClientAttributes() { //...}//包含处理 Mapper.xml 的代码protected String calculateMyBatis3XmlMapperFileName() {}


下面提供一份我修改过可用的源码及下载工具,有任何问题可以找我

源码及生成工具下载地址

http://download.csdn.net/detail/hf709363456/9901489

阅读全文
0 0
原创粉丝点击