1. 程式人生 > >mybatis-generator自動生成model、mapper和xml

mybatis-generator自動生成model、mapper和xml

col cli resolve bye property mys resource format mybatis3

1、添加插件

在pom.xml中添加如下配置

<plugin>
   <groupId>org.mybatis.generator</groupId>
   <artifactId>mybatis-generator-maven-plugin</artifactId>
   <!--註意版本要與下面一致-->
   <version>1.3.2</version>
   <configuration>
      <!--配置文件位置-->
      <
configurationFile>src/main/resources/generatorConfig.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <dependencies> <dependency> <groupId>mysql</groupId> <
artifactId>mysql-connector-java</artifactId> <!--根據自己工程中的版本選擇--> <version>5.1.30</version> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</
artifactId> <version>1.3.2</version> </dependency> </dependencies> </plugin>

2、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>
    <!--數據庫驅動,需要使用本地jar -->
    <classPathEntry
            location="D:\repository\mysql\mysql-connector-java\5.1.30\mysql-connector-java-5.1.30.jar" />
    <context id="MySQL2Tables" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <!--編碼-->
        <property name="javaFileEncoding" value="UTF-8"/>
        <!-- 格式化java代碼 -->
        <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter" />
 
        <!--mapper接口禁用註解,默認給的啥用沒有,自己手動添加吧-->
        <commentGenerator>
            <property name="suppressDate" value="true" />
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
 
        <!--數據庫鏈接地址賬號密碼 -->
        <jdbcConnection
                driverClass="com.mysql.jdbc.Driver"
                connectionURL="jdbc:mysql://test.db.xxx.org:23301/xxxx?useUnicode=true&amp;characterEncoding=utf8&amp;allowMultiQueries=true"
                userId="root"
                password="password">
        </jdbcConnection>
 
        <!-- 把JDBC DECIMAL和NUMERIC 類型解析為java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="true" />
        </javaTypeResolver>
 
        <!--生成Model類存放位置 -->
        <javaModelGenerator targetPackage="com.bj58.jyfz.train.scf.test.model" targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
 
        <!--生成映射文件存放位置 -->
        <sqlMapGenerator targetPackage="test_mappings" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true" />
        </sqlMapGenerator>
 
        <!--生成mapper接口存放位置 -->
        <!--ANNOTATEDMAPPER: 生成java類文件,基於註解的Mapper接口,不會有對應的XML映射文件
            MIXEDMAPPER:XML和註解的混合形式
            XMLMAPPER:所有的方法都在XML中,接口調用依賴XML文件 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.bj58.jyfz.train.scf.test.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true" />
        </javaClientGenerator>
 
        <!--生成對應表及類名,如果有多個表就寫多個table標簽,%表示所有的表,此時不需要配置domainObjectName-->
        <table tableName="wx_menu" domainObjectName="WxMenu" enableCountByExample="false" enableUpdateByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false"
            selectByExampleQueryId="false">
        </table>
    </context>
</generatorConfiguration>

3、生成

執行mvn mybatis-generator:generate命令即可,這裏需要註意的是:由於很多項目都是父子項目,上述配置只需要在子項目中即可,執行命令時也需要進入相應的子項目再執行,否則mybatis-generator插件會識別失敗!

mybatis-generator自動生成model、mapper和xml