详细讲解Maven插件MyBatis-Generator以及如何修改源码
2016-09-28 00:00
549 查看
摘要: 经常使用mybatis操作dao层但每次新建表都需自己手动写entity、mapper很繁琐;下面将讲述如何使用mybatis-generator插件以及修改mybatis-generator部分注释源码
1、常用使用方式:
mybatis-generator有三种用法:命令行、eclipse插件、maven插件。个人觉得maven插件最方便,可以在eclipse/intellij idea等ide上可以通用。
命令行:
java -jar mybatis-generator-core-x.x.x.jar -configfile generatorConfig.xml
java -cp mybatis-generator-core-x.x.x.jar org.mybatis.generator.api.ShellRunner -configfile generatorConfig.xml
eclipse插件:
eclipse插件方式就不介绍了,网上搜一大堆;
参考:http://mbg.cndocs.tk/index.html
2、重点介绍maven插件方式:
注:这种方式最为方便,不需要IDE安装mybatis-generator插件,配置好就可以直接RUNING;
2.1修改pom.xml:
在pom.xml新增下面一段:
2.2:在maven工程下新建generatorConfig.xml文件:
这个文件有两个地方需要注意下:
I):targetProject 如果是eclipse插件则只需要配置工程名 pluto-is-server,但用maven插件则不行必须用绝对路径,
否则会提醒 The specified target project directory pluto-is-server does not exist
II):如果生成的文件乱码或者GBK时,则只需要加 <property name="javaFileEncoding" value="UTF-8"/>
2.3:运行插件:
选择maven工程->右键-->Run AS-->Maven Build.. -->Goals: 输入框输入 mybatis-generator:generate -->RUN
(或者直接用maven命令去执行 mybatis-generator:generate 这句也是可以的)
到这就可以了,再去刷新下工程文件就生成了。
3、修改mybatis-generator源码:
3.1为什么要修改源码:
应该当用mybatis-generator生产带注释的文件时,会发现全都是一推的英文而不是我们想要的数据库表或者字段的注释,导致我们后面还需要在实体类里一个一个的加注释非常的麻烦;
3.2如何修改:
首先新建一个maven工程,添加下面的依赖,使用maven的Download Sources,获得mybatis-generator-core的源码(在你本地的maven私服库 mybatis-generator-core-1.3.2-sources.jar)。
将mybatis-generator-core-1.3.2-sources.jar解压然后把org文件拷贝工程的src目录,然后就可以开始修改了。 但这时会发现有类报错,表示有对别的jar包依赖,则修改修改下pom.xml文件
添加下面两个(记得删除 mybatis-generator-core):
到这,工程就不报错了。
3.3修改哪:
主要修改 org.mybatis.generator.internal.DefaultCommentGenerator类中的:
修改完这个方法后,字段的注释是OK了,但发现get set 以及mapper中的方法上的英文注释也会生成,但我们想去掉。这时只需要修改 DefaultCommentGenerator的其他方法,把所有加注释的代码都删掉就OK了。
到这,代码修改完成了。接下就是把这个类型编译好的DefaultCommentGenerator.class文件替换在你maven私服库里的mybatis-generator-core-1.3.2.jar里的DefaultCommentGenerator.class就OK了。
1、常用使用方式:
mybatis-generator有三种用法:命令行、eclipse插件、maven插件。个人觉得maven插件最方便,可以在eclipse/intellij idea等ide上可以通用。
命令行:
java -jar mybatis-generator-core-x.x.x.jar -configfile generatorConfig.xml
java -cp mybatis-generator-core-x.x.x.jar org.mybatis.generator.api.ShellRunner -configfile generatorConfig.xml
eclipse插件:
eclipse插件方式就不介绍了,网上搜一大堆;
参考:http://mbg.cndocs.tk/index.html
2、重点介绍maven插件方式:
注:这种方式最为方便,不需要IDE安装mybatis-generator插件,配置好就可以直接RUNING;
2.1修改pom.xml:
在pom.xml新增下面一段:
<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <configurationFile>generatorConfig.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <dependencies> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version> </dependency> &nb 7fe0 sp; </dependencies> </plugin>
2.2:在maven工程下新建generatorConfig.xml文件:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" > <generatorConfiguration > <classPathEntry location="D:\soft\apache-maven-3.0.3\repo\mysql\mysql-connector-java\5.1.35\mysql-connector-java-5.1.35.jar"/> <context id="context1" > <commentGenerator > <property name="javaFileEncoding" value="UTF-8"/> <property name="suppressAllComments" value="false" /> <property name="suppressDate" value="true"/> </commentGenerator> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://192.168.1.192:3306/pluto_is?useUnicode=true&characterEncoding=UTF-8" userId="root" password="123456" /> <!--生成实体类 指定包名 以及生成的地址 (可以自定义地址,但是路径不存在不会自动创建 使用Maven生成在target目录下,会自动创建) --> <javaModelGenerator targetPackage="com.woter.server.core.test.entity" targetProject="D:/work/workspace/pluto-is-server/src/main/java" > <property name="enableSubPackages" value="true"/> <!-- 如果true,MBG会根据catalog和schema来生成子包。如果false就会直接用targetPackage属性。默认为false --> <property name="trimStrings" value="true" /> <!-- 当数据库字段使用CHAR时,建议在<javaModelGenerator>中设 --> </javaModelGenerator> <!--生成SQLMAP文件 --> <sqlMapGenerator targetPackage="com.woter.server.core.dao" targetProject="D:/work/workspace/pluto-is-server/src/main/java" /> <!--生成Dao文件 可以配置 type="XMLMAPPER"生成xml的dao实现 --> <javaClientGenerator targetPackage="com.woter.server.core.dao" targetProject="D:/work/workspace/pluto-is-server/src/main/java" type="XMLMAPPER" /> <table tableName="t_policy_company_file" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" /> </context> </generatorConfiguration>
这个文件有两个地方需要注意下:
I):targetProject 如果是eclipse插件则只需要配置工程名 pluto-is-server,但用maven插件则不行必须用绝对路径,
否则会提醒 The specified target project directory pluto-is-server does not exist
II):如果生成的文件乱码或者GBK时,则只需要加 <property name="javaFileEncoding" value="UTF-8"/>
2.3:运行插件:
选择maven工程->右键-->Run AS-->Maven Build.. -->Goals: 输入框输入 mybatis-generator:generate -->RUN
(或者直接用maven命令去执行 mybatis-generator:generate 这句也是可以的)
到这就可以了,再去刷新下工程文件就生成了。
3、修改mybatis-generator源码:
3.1为什么要修改源码:
应该当用mybatis-generator生产带注释的文件时,会发现全都是一推的英文而不是我们想要的数据库表或者字段的注释,导致我们后面还需要在实体类里一个一个的加注释非常的麻烦;
3.2如何修改:
首先新建一个maven工程,添加下面的依赖,使用maven的Download Sources,获得mybatis-generator-core的源码(在你本地的maven私服库 mybatis-generator-core-1.3.2-sources.jar)。
<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version> </dependency>
将mybatis-generator-core-1.3.2-sources.jar解压然后把org文件拷贝工程的src目录,然后就可以开始修改了。 但这时会发现有类报错,表示有对别的jar包依赖,则修改修改下pom.xml文件
添加下面两个(记得删除 mybatis-generator-core):
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.apache.ant</groupId> <artifactId>ant</artifactId> <version>1.9.4</version> </dependency>
到这,工程就不报错了。
3.3修改哪:
主要修改 org.mybatis.generator.internal.DefaultCommentGenerator类中的:
public void addFieldComment(Field field,IntrospectedTable introspectedTable,IntrospectedColumn introspectedColumn) { if (suppressChineseComments||introspectedColumn.getRemarks()==null) { return; } field.addJavaDocLine("/** "+introspectedColumn.getRemarks()+" */"); //$NON-NLS-1$ }
修改完这个方法后,字段的注释是OK了,但发现get set 以及mapper中的方法上的英文注释也会生成,但我们想去掉。这时只需要修改 DefaultCommentGenerator的其他方法,把所有加注释的代码都删掉就OK了。
到这,代码修改完成了。接下就是把这个类型编译好的DefaultCommentGenerator.class文件替换在你maven私服库里的mybatis-generator-core-1.3.2.jar里的DefaultCommentGenerator.class就OK了。
相关文章推荐
- 使用eclipse mybatis generator插件在maven 项目中自动构建代码以及遇到的一些坑
- maven+mybatis-generator插件反向生成源代码
- java_model_dao_自动生成_generator-mybatis-generator-1.3.2 基于maven插件
- Mybatis Generator Maven插件配置
- Mybatis-generator源码修改之修改xmlmapper生成源码
- android 源码下如何将修改编入image 以及其他遇到问提总结
- maven插件mybatis-generator生成代码配置
- maven-mybatis-generator插件使用
- MyBatis-generator-core 生成的Dao 怎么自定义名字 (或者手动修改哪些源码可以实现)
- ORM,ASP.NET中ORM学习,ASP.NET中ORM学习心得,WEB2.0中ORM实现原理,Asp.net简单ORM示例源码详细讲解,Asp.net2.0:如何使用ObjectDataSource(配合ORM )(二)
- maven+mybatis+mybatis-generator+sql server 2005自动生成代码,加上自定义分页插件和批量插入更新插件
- 解读郭神LitePal源码-数据库的创建以及如何修改源码来创建外置数据库
- [置顶] 修改mybatis-generator-1.3.2源码实现中文注释
- maven surefire 插件源码修改,自定义输出格式
- 下面我们将详细讲解如何在Page_Load()中对数据库的增加、删除、修改,最后我们再来总结一下ExecuteNonQuery(),ExecuteScalar(),ExecuteReader的用法
- 深入分析Linux内核源码-第五章进程调度(时间片从何而来,如何分配给进程,讲解详细)
- maven插件mybatis-generator生成代码配置
- Mybatis-generator源码学习和修改
- 将mybatis-generator封装成Maven插件
- eclipse下用maven插件+Mabatis-generator生成mybatis的文件