使用现成的轮子能提高工作效率,但同时里面也多多少少有些问题,比如样式、内容等等与自己需要的有些差别,最近在使用mybatis generator 生成相关内容时,里面的方法名和一些sql有点不符合自己的心意,于是开始了改造之旅。
在网上查找了相关资料后,终于生成了自己想要的东西,感谢大佬们的分享,同时我也将这个过程记录下来并分享给大家。生命不息,代码不止。
内容参考:
mybatis-generator扩展教程系列 -- 搭建MBG源码项目(入门铺垫篇)_shadowsick的专栏-CSDN博客
gong1,从git上拉取代码,并导入idea
git地址:https://github.com/mybatis/generator
源码地址以及修改后的源码地址:
链接:https://pan.baidu.com/s/12n7f6g0XwQkp5-76uZa2Mg
提取码:m6o2
2,新建一个module工程,用来存放生成的mapper方法、po文件以及mapper.xml文件
3,准备mybatis-generator-config.xml配置文件,放在新建的mybatis-example工程中的resources下
4,在新建的mybatis-example工程中新建一个类,运行后会自动生成相关文件
public class MyTestRun {
public static void main(String[] args) {
File configFile = new File(System.getProperty("user.dir")
+"\mybatis-generator-core\src\main\resources\mybatis-generator-config.xml");
// String config = configFile.getFile();
String[] arg = { "-configfile", configFile.getPath(), "-overwrite" };
ShellRunner.main(arg);
}
}
5.在mybatis-example工程中的pom引入mybatis-generator-core
org.mybatis.generator mybatis-generator-core1.4.2-SNAPSHOT
6.运行结果如下:
初步介绍
本文章不会深究源码结构,着重在扩展与改造的地方,以下会罗列出相关的类
结束语1.设置需要生成的mapper方法: org.mybatis.generator.codegen.mybatis3.javamapper.JavaMapperGenerator.java 2.mapper方法组装: org.mybatis.generator.codegen.mybatis3.javamapper.elements 示例: --生成selectByPrimaryKey方法:SelectByPrimaryKeyMethodGenerator.java 3.设置需要在mapper.xml文件中生成的sql org.mybatis.generator.codegen.mybatis3.xmlmapper.XMLMapperGenerator.java 4.sql语句组装: org.mybatis.generator.codegen.mybatis3.xmlmapper.elements 示例: --生成具体sql语句:SelectByPrimaryKeyElementGenerator.java 5.基础扩展类 org.mybatis.generator.api.IntrospectedTable.java
由于篇幅过长,具体细节下一篇介绍,希望写的东西能给大家带来实际的好处。



