沉寂好久又开始发表文章(工作原因),这次我打算教大伙如何深入改造扩展mybatis的生成器框架,因为我们现在很多公司都是使用mybatis作为一个数据库查询组件,所以一个符合公司项目规范mybatis生成器是一个开发神器;至于有的牛人公司就是自己开发团队造个轮子,但是我个人觉得MBG本身已经比较完善了,所以就没必要再自己造一波轮子(学习性造轮子请忽略我这些话);下面就准备开车,请各位乘客系好安全带坐稳
1.下载官方的源码 (官方git地址https://github.com/mybatis/generator),我个人喜欢直接把他的ZIP包download使用,没有使用git组件拉取文件

2.下载之后直接解压ZIP到工作空间,然后通过maven方式导入eclipse

3.导入源码项目后看到downloading一大堆的JAR成功,就右键项目run as选项执行maven install顶级目录,然后慢慢等待第一次编译通过
4.创建project(生成文件会自动放到该目录),lib文件夹加入mysql驱动,加入generatorConfig.xml文件
5.编写generatorConfig.xml配置文件
<?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> <!-- 数据库驱动 --> <classPathEntry location="lib/mysql-connector-java-5.1.18.jar" /> <context id="MySQLTables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressDate" value="true" /> <!-- 是否去除自动生成的注释 true:是 : false:否 --> <property name="suppressAllComments" value="false" /> </commentGenerator> <!--数据库链接URL,用户名、密码 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/qfd" userId="admin" password="admin"> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- 生成模型的包名和位置 --> <javaModelGenerator targetPackage="com.test.domain" targetProject="project"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- 生成映射文件的包名和位置 --> <sqlMapGenerator targetPackage="com.test.dao.mapper" targetProject="project"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- 生成DAO的包名和位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.test.dao" targetProject="project"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!-- 配置生成表 --> <table tableName="qfd_sketch" enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false"> <property name="modelOnly" value="false" /> </table> </context> </generatorConfiguration>
6.准备工作都差不多了,是时候创建一个extend文件夹后添加一个类运行生成器,最后run main....
package org.mybatis.generator.extend; import org.mybatis.generator.api.ShellRunner; public class MyTestRun { public static void main(String[] args) { String config = MyTestRun.class.getClassLoader().getResource("generatorConfig.xml").getFile(); String[] arg = { "-configfile", config, "-overwrite" }; ShellRunner.main(arg); } }
7.最后run main成功后刷新下project目录,查看下我们的生成器结果文件
8. 小结一下我们的流程关键,重点是maven导入项目然后maven install操作,入门比较简单,我明晚抽空更新下一篇教程,如果你觉得本人文章对你有用可以加个粉丝,十分感谢大家收看