MyBatis-generator-core 生成的Dao 怎麼自定義名字 (或者手動修改哪些源碼可以實現)

MyBatis-generator-core 生成的Dao 怎麼自定義名字 (或者手動修改哪些源碼可以實現)


下載 MyBatis-generator-core jar包 並解壓

這裏寫圖片描述

把解壓後的 MyBatis-generator-core 下的org 拷貝到eclipse中
這裏寫圖片描述

寫一個測試類
public class test {

public static void main(String[] args){
       List<String> warnings = new ArrayList<String>();
       boolean overwrite = true;
       File configFile = new File("generatorConfig.xml");
       ConfigurationParser cp = new ConfigurationParser(warnings);
       Configuration config = cp.parseConfiguration(configFile);
       DefaultShellCallback callback = new DefaultShellCallback(overwrite);
       MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
       myBatisGenerator.generate(null);
}

}

修改 IntrospectedTable.java 下的 calculateJavaClientAttributes 方法下的 【sb.append(“Mapper”);】,把他改爲【sb.append(“Dao”);】

protected void calculateJavaClientAttributes() {

    StringBuilder sb = new StringBuilder();
    sb.append(calculateJavaClientImplementationPackage());
    sb.append('.');
    sb.append(fullyQualifiedTable.getDomainObjectName());
    sb.append("DAOImpl"); //$NON-NLS-1$
    setDAOImplementationType(sb.toString());

    sb.setLength(0);
    sb.append(calculateJavaClientInterfacePackage());
    sb.append('.');
    sb.append(fullyQualifiedTable.getDomainObjectName());
    sb.append("DAO"); //$NON-NLS-1$
    setDAOInterfaceType(sb.toString());

    sb.setLength(0);
    sb.append(calculateJavaClientInterfacePackage());
    sb.append('.');
    sb.append(fullyQualifiedTable.getDomainObjectName());
    //sb.append("Mapper"); //$NON-NLS-1$
    sb.append("Dao"); //$NON-NLS-1$
    setMyBatis3JavaMapperType(sb.toString());

    sb.setLength(0);
    sb.append(calculateJavaClientInterfacePackage());
    sb.append('.');
    sb.append(fullyQualifiedTable.getDomainObjectName());
    sb.append("SqlProvider"); //$NON-NLS-1$
    setMyBatis3SqlProviderType(sb.toString());

}

最後直行test,運行結果如下
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章