修改myBatis Generator源码

找到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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值