本身手动实现的前提,对maven项目有基本的了解,在本地成功搭建了maven环境,能够参考我以前的文章:maven环境搭建html
项目里新建表时model,mapper以及mapper.xml基本都是用Mybatis Generator(如下简称为MBG)自动生成的,可是MBG自动生成的model的注释实在有点非人类,至少中国人是彻底接受不了的,在配置中禁用掉注释吧,却是简单了,但是生成的model类光秃秃的,啥都没有,字段方法没有注释,使用很不方便,别人看也不知道这个字段是啥含义,到最后仍是要本身添加,一张表多点几十个字段,特么添加累死了,不能这么干,得想法子,百度了一下网上,基本有两种方法,第一种,就是直接修改MGB的源代码,第二种就是本身写一个类实现CommentGenerator接口,先说本身写一个新类实现CommentGenerator接口的方法来使自动生成的model类含有中文注释吧.java
同时为了支持mysql,也一块儿加入mysql的驱动包,mysql的驱动包不用手动安装,直接引入就会自动下载的mysql
<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>6.0</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.9</version> </dependency>
View Codesql
View Code数据库
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <!-- ojdbc6.jar已经直接放到项目中,无需指定了,同时mysql驱动包也同样,这里一样无需指定 --> <!-- <classPathEntry location="ojdbc6.jar" /> --> <context id="context1" targetRuntime="MyBatis3"> <!-- 指定生成的java文件的编码,没有直接生成到项目时中文可能会乱码 --> <property name="javaFileEncoding" value="UTF-8"/> <!-- 这里的type里写的是你的实现类的类全路径 --> <commentGenerator type="org.mybatis.generator.MyCommentGenerator"> </commentGenerator> <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@远程ip地址或localhost:1521:orcl" userId="用户名" password="密码"> <!-- 针对oracle数据库 --> <property name="remarksReporting" value="true"></property> </jdbcConnection> <!-- mysql配置 --> <!-- <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/bookshop" userId="root" password="root"> 针对mysql数据库 <property name="useInformationSchema" value="true"></property> </jdbcConnection> --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- dto class --> <javaModelGenerator targetPackage="model" targetProject="C:\Users\Administrator\Desktop"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- mybatis xml file --> <sqlMapGenerator targetPackage="dao" targetProject="C:\Users\Administrator\Desktop"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- mapper class --> <javaClientGenerator type="XMLMAPPER" targetPackage="dao" targetProject="C:\Users\Administrator\Desktop"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!--不生成帮助类(Exmaples) --> <!-- enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" --> <!--已生成的表 <table schema="demo" tableName="USER" domainObjectName="User"></table> --> <table schema="" tableName="ABS_DEAL" domainObjectName="AbsDeal" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"> </table> </context> </generatorConfiguration>
到此为止项目的结构以下:api
这个时候咱们运行StartUp的main方法,已经能够实现了,发现桌面上生成了两个文件夹,model和mapper文件夹,里面有生成的文件.看一下效果:mybatis
是否是很符合中国人的审美观呢,若是不满意,或者有什么要加的,能够本身在实现类中加入代码修改,addFieldComment,addGetterComment,addSetterComment这几个方法就好了,里面的代码也很容易看懂,很容易改.oracle
View Codeapp
到这里项目就完成了,在项目根路径使用打包命令mvn clean package,固然能够在eclipse中使用maven build中输入命令来生成,我习惯使用控制台来生成,在项目根路径,按住shift的同时右键,选择在此处打开命令窗口,而后输入mvn clean package命令按下enter,固然这些能够实现的前提是你本地maven环境配置好了,若是没有设置maven_home环境变量的话运行会提示没法识别的mvn命令的,成功构建后显示build success,到target目录下,看到生成了jar包:dom
一样在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包下载: MybatisGenerator