博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
修改myBatis Generator源码
阅读量:6416 次
发布时间:2019-06-23

本文共 2330 字,大约阅读时间需要 7 分钟。

找到org.mybatis.generator.api.IntrospectedTable.java 类;

一. 修改*mapping.xml配置文件中的各类id名称

找到 calculateXmlAttributes() 方法,修改对应的id名称为你要定义的名称即可.

二. 修改DAO类名

找到 calculateJavaClientAttributes() 方法,对方法中所有fullyQualifiedTable.getDomainObjectName()返回的结果进行处理即可修改DAO后缀名找到 setMyBatis3JavaMapperType这一句,修改上面sb.append("DAO")中的DAO为你想要的后缀名即可

三. 修改Bean类名

找到 calculateModelAttributes() 方法,对方法中所有fullyQualifiedTable.getDomainObjectName()返回的结果进行处理即可

四. 修改*Mapper.xml中namespace对应的实体类的名称

找到 calculateMyBatis3FallbackSqlMapNamespace()方法,对方法中所有fullyQualifiedTable.getDomainObjectName()返回的结果进行处理即可

五. 修改*Mapping.xml文件的名称

找到 calculateMyBatis3XmlMapperFileName() 方法,对方法中所有fullyQualifiedTable.getDomainObjectName()返回的结果进行处理即可

六. 去掉*Mapping文件中的resultMap节点

找到  org.mybatis.generator.codegen.mybatis3.xmlmapper.elements.ResultMapWithoutBLOBsElementGenerator.java 类,将方法addElements()中的所有代码进行屏蔽org.mybatis.generator.codegen.mybatis3.xmlmapper.elements

七. 修改*Mapping文件中的resultMap节点属性为resultType

找到org.mybatis.generator.codegen.mybatis3.xmlmapper.elements.SelectByPrimaryKeyElementGenerator类,修改方法addElements()中的所有resultType为resultMap

八. 修改java类文件中的import引用

找到org.mybatis.generator.api.dom.OutputUtilities类,修改方法calculateImports()

九. 修改dao继承指定类

找到org.mybatis.generator.api.dom.java.Interface类,修改方法getFormattedContent(),在sb.append(" {")之前添加你要继承的类注:以上全部,如果返回的是java.util.Map,则这里所有的修改都是以舍弃实体类为前提的

十. 指定Mapping文件中的生成哪些sql

找到org.mybatis.generator.codegen.mybatis3.xmlmapper.XMLMapperGenerator.java类中的getSqlMapElement()方法,屏蔽不想生成的sql即可,如:addUpdateByPrimaryKeySelectiveElement(answer);    //updateByPrimaryKeySelective

十一. 指定Dao文件中的生成哪些method

找到org.mybatis.generator.codegen.mybatis3.javamapper.JavaMapperGenerator.java类中的getCompilationUnits()方法,屏蔽不想生成的sql即可,如:addUpdateByPrimaryKeyWithoutBLOBsMethod(interfaze);    //updateByPrimaryKey

十二. 修改Dao中method的参数默认名称

全局搜索method.addParameter(new Parameter(parameterType, "record")); 字符串,批量替换"record"为自己想要的定义的名称即可,如替换成和实体类文件名相同但首字母小写:method.addParameter(new Parameter(parameterType,StringUtil.toLowerCaseFirstOne(parameterType.getShortName())));//StringUtil.toLowerCaseFirstOne(String str) 是把第一个字符转换成小写,然后引用相关的包即可

十三. Dao中新增method

org.mybatis.generator.codegen.mybatis3.javamapper.elements 包下面随便找一个文件,编写你要新增的方法(可以直接参考addInterfaceElements方法中的内容),然后从addInterfaceElements(Interface interfaze) 方法中进行调用即可

转载于:https://blog.51cto.com/1197822/2157327

你可能感兴趣的文章
java09 面向对象,封装,继承,多态
查看>>
IoC模式(依赖、依赖倒置、依赖注入、控制反转)
查看>>
Struts 基础开发---day01
查看>>
webpack之跨域
查看>>
网站优化之分辨率
查看>>
20140711 eat 并查集
查看>>
Ruby on Rails入门篇
查看>>
MVC_HtmlHelper用法大全
查看>>
sql 全文索引无法填充,点击填充后提示正确,但无内容的解决方法
查看>>
Python爬虫学习==>第十章:使用Requests+正则表达式爬取猫眼电影
查看>>
jQuery的选择器中的通配符[id^='code']或[name^='code']
查看>>
杨辉三角
查看>>
Swift3.0P1 语法指南——构造器
查看>>
Reorder List
查看>>
Java中try catch finally的执行顺序问题
查看>>
asp.net core 系列 7 Razor框架路由(上)
查看>>
asp.net core系列 52 Identity 其它关注点
查看>>
BOOST.PYTHON 封装C++全面整合
查看>>
如何使用github来展示自己的网页
查看>>
XML 标记使用的特殊字符对应内置实体
查看>>