为了生成只读的接口和xml,并命名结尾为MapperR.java和MapperR.xml

前端之家收集整理的这篇文章主要介绍了为了生成只读的接口和xml,并命名结尾为MapperR.java和MapperR.xml前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

《一》首先从https://github.com/mybatis/generator下载源代码,然后找到org.mybatis.generator.api下面的IntrospectedTable文件修改以下两个方法,然后重新打个jar包。

1.修改calculateJavaClientAttributes方法

  1. protected void calculateJavaClientAttributes() {
  2. if (context.getJavaClientGeneratorConfiguration() == null) {
  3. return;
  4. }
  5.  
  6. StringBuilder sb = new StringBuilder();
  7. sb.append(calculateJavaClientImplementationPackage());
  8. sb.append('.');
  9. sb.append(fullyQualifiedTable.getDomainObjectName());
  10. sb.append("DAOImpl"); //$NON-NLS-1$
  11. setDAOImplementationType(sb.toString());
  12.  
  13. sb.setLength(0);
  14. sb.append(calculateJavaClientInterfacePackage());
  15. sb.append('.');
  16. sb.append(fullyQualifiedTable.getDomainObjectName());
  17. sb.append("DAO"); //$NON-NLS-1$
  18. setDAOInterfaceType(sb.toString());
  19.  
  20. sb.setLength(0);
  21. sb.append(calculateJavaClientInterfacePackage());
  22. sb.append('.');
  23. sb.append(fullyQualifiedTable.getDomainObjectName());
  24. sb.append("Mapper"); //$NON-NLS-1$
  25. if(null!=calculateJavaClientInterfacePackage() && calculateJavaClientInterfacePackage().endsWith(".dro")){
  26. setMyBatis3JavaMapperType(sb.toString()+"R");
  27. }else{
  28. setMyBatis3JavaMapperType(sb.toString());
  29. }
  30.  
  31. sb.setLength(0);
  32. sb.append(calculateJavaClientInterfacePackage());
  33. sb.append('.');
  34. sb.append(fullyQualifiedTable.getDomainObjectName());
  35. sb.append("sqlProvider"); //$NON-NLS-1$
  36. setMyBatis3sqlProviderType(sb.toString());
  37. }
2.修改calculateMyBatis3XmlMapperFileName方法
  1. protected String calculateMyBatis3XmlMapperFileName() {
  2. StringBuilder sb = new StringBuilder();
  3. sb.append(fullyQualifiedTable.getDomainObjectName());
  4. if(null!=calculateJavaClientInterfacePackage() && calculateJavaClientInterfacePackage().endsWith(".dro")){
  5. sb.append("MapperR.xml"); //$NON-NLS-1$
  6. }else{
  7. sb.append("Mapper.xml"); //$NON-NLS-1$
  8. }
  9. return sb.toString();
  10. }

《二》generatorConfiguration的配置文件,javaClientGenerator的targetPackage这个包的名字需要以 ".dro" 结尾

《三》使用命令

java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig-dro.xml -overwrite

即可生成只读的接口和xml了,并命名结尾为MapperR.java和MapperR.xml。

猜你在找的XML相关文章