本文共 2330 字,大约阅读时间需要 7 分钟。
找到org.mybatis.generator.api.IntrospectedTable.java 类;
找到 calculateXmlAttributes() 方法,修改对应的id名称为你要定义的名称即可.
找到 calculateJavaClientAttributes() 方法,对方法中所有fullyQualifiedTable.getDomainObjectName()返回的结果进行处理即可修改DAO后缀名找到 setMyBatis3JavaMapperType这一句,修改上面sb.append("DAO")中的DAO为你想要的后缀名即可
找到 calculateModelAttributes() 方法,对方法中所有fullyQualifiedTable.getDomainObjectName()返回的结果进行处理即可
找到 calculateMyBatis3FallbackSqlMapNamespace()方法,对方法中所有fullyQualifiedTable.getDomainObjectName()返回的结果进行处理即可
找到 calculateMyBatis3XmlMapperFileName() 方法,对方法中所有fullyQualifiedTable.getDomainObjectName()返回的结果进行处理即可
找到 org.mybatis.generator.codegen.mybatis3.xmlmapper.elements.ResultMapWithoutBLOBsElementGenerator.java 类,将方法addElements()中的所有代码进行屏蔽org.mybatis.generator.codegen.mybatis3.xmlmapper.elements
找到org.mybatis.generator.codegen.mybatis3.xmlmapper.elements.SelectByPrimaryKeyElementGenerator类,修改方法addElements()中的所有resultType为resultMap
找到org.mybatis.generator.api.dom.OutputUtilities类,修改方法calculateImports()
找到org.mybatis.generator.api.dom.java.Interface类,修改方法getFormattedContent(),在sb.append(" {")之前添加你要继承的类注:以上全部,如果返回的是java.util.Map,则这里所有的修改都是以舍弃实体类为前提的
找到org.mybatis.generator.codegen.mybatis3.xmlmapper.XMLMapperGenerator.java类中的getSqlMapElement()方法,屏蔽不想生成的sql即可,如:addUpdateByPrimaryKeySelectiveElement(answer); //updateByPrimaryKeySelective
找到org.mybatis.generator.codegen.mybatis3.javamapper.JavaMapperGenerator.java类中的getCompilationUnits()方法,屏蔽不想生成的sql即可,如:addUpdateByPrimaryKeyWithoutBLOBsMethod(interfaze); //updateByPrimaryKey
全局搜索method.addParameter(new Parameter(parameterType, "record")); 字符串,批量替换"record"为自己想要的定义的名称即可,如替换成和实体类文件名相同但首字母小写:method.addParameter(new Parameter(parameterType,StringUtil.toLowerCaseFirstOne(parameterType.getShortName())));//StringUtil.toLowerCaseFirstOne(String str) 是把第一个字符转换成小写,然后引用相关的包即可
org.mybatis.generator.codegen.mybatis3.javamapper.elements 包下面随便找一个文件,编写你要新增的方法(可以直接参考addInterfaceElements方法中的内容),然后从addInterfaceElements(Interface interfaze) 方法中进行调用即可
转载于:https://blog.51cto.com/1197822/2157327