自己手动实现的前提,对maven项目有基本的了解,在本地成功搭建了maven环境,可以参考我之前的文章:
项目里新建表时model,mapper以及mapper.xml基本都是用Mybatis Generator(以下简称为MBG)自动生成的,但是MBG自动生成的model的注释实在有点非人类,至少中国人是完全接受不了的,在配置中禁用掉注释吧,倒是简单了,可是生成的model类光秃秃的,啥都没有,字段方法没有注释,使用很不方便,别人看也不知道这个字段是啥含义,到最后还是要自己添加,一张表多点几十个字段,特么添加累死了,不能这么干,得想法子,百度了一下网上,基本有两种方法,第一种,就是直接修改MGB的源代码,第二种就是自己写一个类实现CommentGenerator接口,先说自己写一个新类实现CommentGenerator接口的方法来使自动生成的model类含有中文注释吧.
- 1.首先新建一个maven项目,请选择一个简单的maven项目:或者在选择的时候直接选择create a simple project.
- 2,右键项目->build path->config build path...->Libraries,修改jdk为你工作空间的默认jdk,然后右键项目->new->source folder,输入src/main/resources,建好resources目录,如果已经建好就直接跳过.这里最好不要忘记,否则有的时候建立默认jdk是1.5的,运行可能会有莫名其妙的问题.
- 3 因为是要写一个类实现CommentGenerator接口,所以先在项目中引入mybatis-generator-core的jar包 在pom.xml中添加依赖, 这里统一使用1.3.2版本.为了不用每次使用都要使用者自己指定ojdbc6.jar位置,直接将其引入到项目中,这里要使用该引入,需要先将jar包安装到本地maven仓库中,否则这里这样引入会报错的,怎么安装可以参考这篇文章:
同时为了支持mysql,也一起加入mysql的驱动包,mysql的驱动包不用手动安装,直接引入就会自动下载的
org.mybatis.generator mybatis-generator-core 1.3.2 com.oracle ojdbc6 6.0 mysql mysql-connector-java 5.1.9
- 4 在源代码中新建一个类MyCommentGenerator,实现CommentGenerator接口,类的代码如下:
View Code
- 5.再新建一个类StartUp,用于运行项目,类的代码如下:
View Code
- 6. 然后将generatorConfig.xml放入resources目录下,generatorConfig.xml内容如下
到此为止项目的结构如下:
这个时候我们运行StartUp的main方法,已经可以实现了,发现桌面上生成了两个文件夹,model和mapper文件夹,里面有生成的文件.看一下效果:
是不是很符合中国人的审美观呢,如果不满意,或者有什么要加的,可以自己在实现类中加入代码修改,addFieldComment,addGetterComment,addSetterComment这几个方法就行了,里面的代码也很容易看懂,很容易改.
- 6.到此为止虽然已经生成成功了,但是事情还不算完,不能要求每个人都从无到有搞这么一个项目,所以要把它打成一个可以运行的jar包才行.这里要使依赖包被打包到最后的jar包中,要在pom.xml中进行相应的配置,这里给出全部的pom.xml的代码:
View Code
到这里项目就完成了,在项目根路径使用打包命令mvn clean package,当然可以在eclipse中使用maven build中输入命令来生成,我习惯使用控制台来生成,在项目根路径,按住shift的同时右键,选择在此处打开命令窗口,然后输入mvn clean package命令按下enter,当然这些可以实现的前提是你本地maven环境配置好了,如果没有设置maven_home环境变量的话运行会提示无法识别的mvn命令的,成功构建后显示build success,到target目录下,看到生成了jar包:
同样在target目录下:按住shift同时右键->在此处打开命令行,输入java -jar mybatis-generator-core-1.3.2.jar命令运行jar包,注意-jar后打出my时按tab键mybatis-generator-core-1.3.2.jar就自动补全了,运行结束后,同样的在桌面上回看到生成的model和mapper文件夹及里面的文件.这里是测试,所以配置中写文件生成在了桌面上,可以改一下配置,设置在项目中输出,直接输出到项目中.
当然为了使用方便,不用每次都输入java -jar mybatis-generator-core-1.3.2.jar命令,可以把命令放入脚本文件中,新建一个记事本,重命名为generator.bat,然后把java -jar mybatis-generator-core-1.3.2.jar命令拷贝进去,以后只要双击generator.bat就可以直接生成了,当然你的generator.bat得和jar包在同一个目录下.
还有要修改generatorConfig.xml文件可以使用压缩软件打开mybatis-generator-core-1.3.2.jar,双击generatorConfig.xml,修改后保存并更新回压缩包.因为这里StartUp文件中使用的是加载generatorConfig.xml的方法,所以会加载jar包里的generatorConfig.xml配置文件,如果StartUp文件中加载配置文件的方式使用MBG原生态的加载方式,就可以使用jar包同目录下的generatorConfig.xml,不过那时运行命令就为:java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite,我觉得这样挺好的,不用每次都拖着一个generatorConfig.xml,移动都不方便,放在jar包里跟着跑挺方便的.
抱歉,使用了才知道,generatorConfig.xml放在jar包里似乎生成到项目里不好配置,只能写绝对路径,相对路径好像不好弄,可以稍微修改一下,用MBG原来的加载外部的generatorConfig.xml,只需要修改pom.xml的构建中的main class节点由startup改为org.mybatis.generator.api.ShellRunner然后重新打包,运行jar包时命令为
java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite,以下提供的下载更新为使用ShellRunner运行的.如果使用ShellRunner运行,则之前的startup可以删除了,项目resource目录下的generatorConfig.xml也不需要了,直接使用外部的generatorConfig.xml.
生成的jar包下载: