`
changhongbao
  • 浏览: 123918 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

修改mybatis-generator-1.3.2源码实现自定义代码生成详解(三)

 
阅读更多

前两篇对mybatis-generator-core源码进行了修改,在一定程度上做到了方便使用。这一篇先将写个测试程序看看生成的结果,然后用maven assembly将它打包生成一个zip文件。
    新建一个类StartUp,找到org.mybatis.generator.api.ShellRunner这个类,它就是生成文件的入口类,拷贝106-117行代码,再稍微作下修改。
    
    
    
generatorConfig.xmlresources目录下面,它里面要定义输出文件的目录,如果不指定具体的路径,默认是在当前文件夹下面生成。
    

    但是呢,这里有个比较蛋疼的地方,mybatis-generator-core默认是不给你生成文件夹的,不信?请看org.mybatis.generator.internal.DefaultShellCallback的第50行,当指定的目录不存在时,就抛出ShellException异常,所以输出文件也就不可能有了。这里我们注释掉51行代码,添加如下代码:
    
    
    现在再来执行StartUp看看,发现在与srctarget同级目录下生成了mybatis3目录,里面有相应的pojoxml,打开之后看看效果,与我们改动代码后预想的结果一致。那么接下来就看看,如何将它打包输出成下面这样的效果。
    

    首先我们新建一个src/main/scripts/run.bat文件,内容如下:
    java -jar mybatis-generator-1.3.2.jar -configfile generatorConfig.xml –overwrite
    pause

    其实就是一个java命令行,里面加的参数都是ShellRunner需要的,加上pause是方便查看输出信息。
    然后修改pom文件,既然最终输出有源文件JAR和编译后的class JAR,所以我们需要增加maven-source-pluginmaven-jar-plugin这两个插件,另外还用到了maven-assembly-plugin插件。这些plugin具体的用法,我就不讲了,我只说下要注意的地方。
    

    注意红色框的内容,表示我将打包的源代码只会是原来的,增加的com.bolo.StartUp是不会包含进去的,而且这也没必要添加进去。
    

    编译之后的打包同样只包含原来的代码,并且一定要在这里指定入口类。classpathPrefix是类目录,为空就是生成在当前目录下。如果写成<classpathPrefix>lib/</classpathPrefix>这样,则表示生成的mybatis-generator-1.3.2.jar会在lib目录下面。
    

    上图descriptor里面的内容表明了assembly.xml的位置,它可以做很多自定义设置。
    

    这里定义的id默认是加到生成的文件名后面的,但我们在上图中设置了<appendAssemblyId>false</appendAssemblyId>,所以,这个all-in-one就不会加到生成的文件名后面了,如果想要这个名字,将false改成true即可。<format>zip</format>表示将生成一个以zip为后缀的压缩包。
    

    我们最终是想把几个文件都放在一个目录下面,所以outputDirectory就不需要再定义其它的名字。通过前面的输出知道,最后只会包含generatorConfig.xmlrun.bat这两个文件,其它的配置文件并不是我们需要的,因此这里需要排除它们。
    另外还有两个fileSet是指定源代码的JAR和编译classJAR,这两个设置和前面类似。
    
    有点补充说明:此例都是以MySQL数据库为例,所以运行是需要mysql的数据库驱动的,但我又不想在输出里面包含这个jar,因此就在generatorConfig.xml文件里面进行了配置,不清楚的可以看看。
    最后的最后,这些我们都做完了,那么就可以打包输出了,使用mvn package或是在Run As -> Maven Build -> Goals里面填写package,点击 Run
    源码下载: mybatis-generator-1.3.2.zip
    本文为菠萝大象原创,如要转载请注明出处。http://www.blogjava.net/bolo

分享到:
评论

相关推荐

    mybatis-generator-1.3.2 代码生成

    【标题】"mybatis-generator-1.3.2 代码生成" 涉及到的是一个基于MyBatis框架的代码生成工具,主要用于自动化地创建MyBatis的SQL映射文件、Mapper接口、Mapper XML文件以及实体类。这个工具极大地提高了开发效率,...

    mybatis-generator-core-1.3.2

    1. `mybatis-generator-core-1.3.2.jar`:MBG 的核心库,包含所有实现代码生成功能的类和接口。 2. `lib` 目录:可能包含 MBG 运行时依赖的第三方库,如 JDBC 驱动等。 3. `README` 或 `doc` 文件:提供关于如何使用...

    mybatis-generator-core-1.3.2注释修改

    在`mybatis-generator-core-1.3.2`版本中,我们关注的是如何通过数据库中的字段注释(comment)来生成Java代码的注释。 在默认情况下,MBG并不直接将数据库字段的注释转化为Java类中的字段注释。因此,如果你想要在...

    逆向工程mybatis-generator-1.3.2

    在这个场景中,“逆向工程mybatis-generator-1.3.2”指的是对MyBatis Generator 1.3.2版本的源代码或执行流程进行逆向分析。MyBatis Generator(MBG)是一个强大的工具,能够自动生成MyBatis接口和映射器XML文件,...

    mybatis-generator-core-1.3.2 解压即用

    mybatis-generator-core-1.3.2代码自动生成 官网下载解压即用 内含 mybatis-3.2.6.jar/mybatis-generator-core-1.3.2.jar/mysql-connector-java-5.1.30.jar/mybatis-generator-core-1.3.2-javadoc.jar/mybatis-...

    mybatis-generator-core-1.3.2.zip

    `mybatis-generator-core-1.3.2.zip` 文件是MyBatis Generator的一个版本,即1.3.2版,它包含了实现这一功能的所有必要组件。这个版本的MBG支持MyBatis框架的逆向工程,通过解析数据库中的表结构,自动创建与之对应...

    mybatis-generator-core-1.3.2 自动生成文件

    6. **插件机制**:MyBatis Generator支持插件,开发者可以通过编写插件来扩展其功能,比如添加自定义的代码生成逻辑。 7. **版本控制**:生成的代码应纳入版本控制系统(如Git),这样团队成员可以协作开发,并确保...

    mybatis-plus最新代码生成器项目源码 :mybatis-plus-generator.zip

    mybatis-plus最新代码生成器项目源码 :mybatis-plus-generator.zip mybatis-plus最新代码生成器项目源码 :mybatis-plus-generator.zip mybatis-plus最新代码生成器项目源码 :mybatis-plus-generator.zip ...

    mybatis逆向工程代码生成工具mybatis-generator-core-1.3.2-bundle.zip

    在本案例中,我们关注的是`mybatis-generator-core-1.3.2-bundle.zip`这个压缩包,其中包含的是MyBatis Generator的核心库版本1.3.2。 MyBatis Generator的核心功能主要体现在以下几个方面: 1. **配置文件**:MBG...

    mybatis-generator-core-1.3.2(含有源码--生成注释、自定义sql)

    mybatis-generator-core-1.3.2(含有源码--生成注释、自定义sql) 只需修改2个文件即可,生成了mysql字段的注释,以及去除多余无用的sql,只留下增删改查,文件内含源码和已经打好的jar包,直接使用即可

    mybatis-generator-core-1.3.2.jar 

    这个"mybatis-generator-core-1.3.2.jar"文件是Mybatis Generator的核心库,版本为1.3.2,它包含了执行逆向工程所需的所有功能。 Mybatis Generator的主要目标是通过数据库中的数据表来生成Java实体类(PO,即Plain...

    mybatis-generator-core-1.3.2.rar

    在本案例中,我们关注的是`mybatis-generator-core-1.3.2.rar`这个压缩包,它包含了MyBatis Generator的核心库,版本为1.3.2。 MyBatis Generator主要包含以下组件: 1. **配置文件**:`generatorConfig.xml`是MBG...

    mybatis逆向工程mybatis-generator-core-1.3.2jar包

    在本案例中,我们关注的核心是`mybatis-generator-core-1.3.2.jar`这个文件,它是MyBatis逆向工程的主要实现库。 MyBatis Generator (MBG) 是一个能够自动生成Java源代码和XML配置文件的工具,这些文件与MyBatis...

    mybatis-generator-core-1.3.2(含有源码--生成注释、自定义sql)第二版本

    mybatis-generator-core-1.3.2(含有源码--生成注释、自定义sql)2.0版本

    Mybatis逆向生成工具mybatis-generator-core-1.3.2.jar包

    这里我们将深入探讨MBG的核心功能、工作原理以及如何使用mybatis-generator-core-1.3.2.jar这个版本来自动化生成代码。 首先,MyBatis Generator基于数据库表结构,通过配置文件指定数据库连接信息、表名以及需要...

    mybatis-generator-core-1.3.2 mybatis自动生成工具

    总之,mybatis-generator-core-1.3.2 是 MyBatis Generator 的一个重要版本,它简化了与 MyBatis 集成时的代码编写工作,使得开发人员可以更加专注于业务逻辑,而不是重复的基础代码。通过熟练掌握 MBG 的使用,可以...

    mybatis-generator-core-1.3.2Java工程,可直接导入eclipse生产model和mapper以及到

    mybatis-generator-core-1.3.2自动生成数据库表中对应的dao和model以及mapper文件,灰常方便,压缩包是个Java工程,解压后可以直接导入到自己的eclipse中,然后修改一下唯一的配置文件generatorConfig.xml里面的...

Global site tag (gtag.js) - Google Analytics