程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 基於mybatis-generator-core 1.3.5項目的修訂版以及源碼剖析,mybatisgeneratorcore

基於mybatis-generator-core 1.3.5項目的修訂版以及源碼剖析,mybatisgeneratorcore

編輯:JAVA綜合教程

基於mybatis-generator-core 1.3.5項目的修訂版以及源碼剖析,mybatisgeneratorcore


項目簡單說明

mybatis-generator,是根據數據庫表、字段反向生成實體類等代碼文件。我在國慶時候,沒事剖析了mybatis-generator-core源碼,寫了相當詳細的中文注釋,可以去看看。目前我剖析修改的是1.3.5版本。

 

源碼剖析說明

1.剖析org.mybatis.generator.plugins.ToStringPlugin源碼
2.剖析org.mybatis.generator.plugins.MapperConfigPlugin源碼
3.剖析org.mybatis.generator.api.ShellRunner源碼,Main入口
3.剖析org.mybatis.generator.config.xml.ConfigurationParser源碼,配置解析器,用於對generatorConfig.xml配置文件的解析
4.剖析org.mybatis.generator.config.Context源碼,封裝元素內容

修改源碼說明(原版本沒有的功能)

1.數據表的備注信息的添加:在FullyQualifiedTable類中添加remark字段,並在org.mybatis.generator.internal.db.DatabaseIntrospector類calculateIntrospectedTables方法,添加一段獲取數據庫備注的代碼

 1   //設置數據庫表的備注信息
 2   //start
 3   Statement stmt = this.databaseMetaData.getConnection().createStatement();
 4   ResultSet rs = stmt.executeQuery(
 5           new StringBuilder()
 6           .append("SHOW TABLE STATUS LIKE '")
 7           .append(atn.getTableName())
 8           .append("'")
 9           .toString());
10   while (rs.next())
11       table.setRemark(rs.getString("COMMENT"));
12   closeResultSet(rs);
13   stmt.close();
14   //end


2..非model類Example的注釋方法的添加,方法名addExampleClassComment(TopLevelClass topLevelClass)
3.重構部分org.mybatis.generator.codegen.mybatis3.IntrospectedTableMyBatis3Impl包裡getGeneratedJavaFiles方法
4.詳細中文注釋的添加,入口包函數在org.mybatis.generator.api.ShellRunner
5.生成的中文注釋信息可在修DefaultCommentGenerator類修改

 

源碼地址:

https://github.com/orange1438/mybatis-generator-core-chinese-annotation-1.3.5

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved