mybatis_generator 自动生成代码

一. 前言

在编写web项目的时候, 总是要编写实体层和实体操作层, 很多代码是固定的, 尤其是实体层基本没有可发挥的地方, 而且mybatis的mapper配置文件格式比较复杂, 复制错了类名什么的经常发生, mybatis_generator 可以自动生成代码, 能解决大部分的问题.

二. 下载

官网下载 : mybatis_generator release
百度云下载 : mybatis_generator

三. 配置

修改lib文件下的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="mysql-connector-java-5.1.25-bin.jar"/>    
    <context id="DB2Tables"  targetRuntime="MyBatis3">    
        <commentGenerator>    
            <property name="suppressDate" value="true"/>    
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->    
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>    
        <!--数据库链接URL,用户名、密码 -->    
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://codog.com.cn/codog" userId="codog" password="codog">    
        </jdbcConnection>    
        <javaTypeResolver>    
            <property name="forceBigDecimals" value="false"/>    
        </javaTypeResolver>    
        <!-- 生成模型的包名和位置-->    
        <javaModelGenerator targetPackage="com.example.mydemo.model" targetProject="src">    
            <property name="enableSubPackages" value="true"/>    
            <property name="trimStrings" value="true"/>    
        </javaModelGenerator>    
        <!-- 生成映射文件的包名和位置-->    
        <sqlMapGenerator targetPackage="com.example.mydemo.model.mapping" targetProject="src">    
            <property name="enableSubPackages" value="true"/>    
        </sqlMapGenerator>    
        <!-- 生成DAO的包名和位置-->    
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mydemo.dao" targetProject="src">    
            <property name="enableSubPackages" value="true"/>    
        </javaClientGenerator>    
        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->    
        <!--<table tableName="user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"                          enableSelectByExample="false" selectByExampleQueryId="false">  
        </table>  -->

<table tableName="%" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"                          enableSelectByExample="false" selectByExampleQueryId="false">
<property name="useActualColumnNames" value="true" />
</table>

    </context>    
</generatorConfiguration>

四. 执行

运行如下命令

java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite

五. 结果

相关的代码会在src文件夹下, 复制到自己的项目里面就能使用了