利用工具:maven項目,nuxus私服。 Mybatis Generator基本使用教程傳送門html
想必在利用Mybatis Generator生成代碼以後,相比看着一堆雞肋的註釋不少人都和我同樣很糾結,明明數據庫中字段有註釋,爲何生成的Bean沒有呢?帶着發現問題,必定要解決問題的決心,我進行了探索。java
先mark幾篇Mybatis Generator的資料:
Mybatis Generator中文API
一篇很詳細的博客mysql
要想生成中文註釋,首先咱們須要新建一個maven項目sql
數據庫
而後新建一個類,名字隨便啦。。。我這裏叫QnloftCommentGenerator
,上代碼api
package org.mybatis.generator; import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.IntrospectedTable; import org.mybatis.generator.api.dom.java.Field; import org.mybatis.generator.internal.DefaultCommentGenerator; /** * User: R&M www.rmworking.com/blog * Date: 16/6/20 * Time: 00:56 * mybatis-generator-increase * org.mybatis.generator */ public class QnloftCommentGenerator extends DefaultCommentGenerator { @Override public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) { // 添加字段註釋 StringBuffer sb = new StringBuffer(); field.addJavaDocLine("/**"); field.addJavaDocLine(" * <pre>"); if (introspectedColumn.getRemarks() != null) field.addJavaDocLine(" * " + introspectedColumn.getRemarks()); sb.append(" * 表字段 : "); sb.append(introspectedTable.getFullyQualifiedTable()); sb.append('.'); sb.append(introspectedColumn.getActualColumnName()); field.addJavaDocLine(sb.toString()); field.addJavaDocLine(" * </pre>"); field.addJavaDocLine(" * "); // addJavadocTag(field, false); field.addJavaDocLine(" */"); } }
主要就是繼承DefaultCommentGenerator
,重寫addFieldComment
方法。mybatis
在pom文件中加入app
<dependencies> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> </dependency> </dependencies>
OK了,咱們執行 mvn -package打包上傳到nuxus便可。上傳nuxus的方法,請自行百度吧,或者給我留言!dom
而後在須要生成代碼的項目的pom.xml加入咱們以前上傳的這個jar便可maven
<build> <plugins> <!-- mybatis代碼生成插件 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <configurationFile>src/main/resources/generatorConfig.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <executions> <execution> <id>Generate MyBatis Artifacts</id> <goals> <goal>generate</goal> </goals> </execution> </executions> <dependencies> <!-- 這裏就是咱們本身定義的jar啦 --> <dependency> <groupId>qnloft-mybatis-generator</groupId> <artifactId>mybatis-generator-increase</artifactId> <version>0.0.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.35</version> </dependency> </dependencies> </plugin> </plugins> </build>
最後,修改generatorConfig.xml
配置文件,在commentGenerator
標籤中指向咱們自定義的註釋類。
<commentGenerator type="org.mybatis.generator.QnloftCommentGenerator"> <!-- 定義是否生成原生註釋,咱們這裏自定義了,因此選擇false --> <property name="suppressAllComments" value="false"/> <!-- This property is used to specify whether MBG will include the generation timestamp in the generated comments --> <property name="suppressDate" value="true"/> </commentGenerator>