自動生成JavaBean mybatis-generator-maven-plugin 集成與注意事項

1.官方文檔

     http://www.mybatis.org/generator/index.html

2.配置demo

  1) maven 添加mybatis-generator-maven-plugin 插件

    <!-- 集成tomcat7 -->
    <build>
            <!-- Mybatis generator代碼生成插件 配置 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.2</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>

        </plugins>
    </build>

2.配置默認文件 generatorConfig.xml 此文件放置在 src/main/resources

 <?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">

<!--mybatis-generator-maven-plugin生成數據庫實體的配置文件-->
<generatorConfiguration>
    <!--導入屬性配置,前面我們寫的一個配置文件,你也可以直接使用mybatis的jdbc的配置文件 -->
    <properties resource="jdbc.properties"></properties>
    <!-- 數據庫驅動,注意,這裏必須要修改成你的數據庫的驅動地址-->
    <classPathEntry  location="D:/apache-maven-3.5.2/m2/repository/mysql/mysql-connector-java/5.1.8/mysql-connector-java-5.1.8.jar"/>
    
    <context id="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自動生成的註釋 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--數據庫鏈接URL,用戶名、密碼 -->
        <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}">
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!-- 生成模型的包名和位置-->
        <javaModelGenerator targetPackage="com.dingdang.entities" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- 生成映射文件的包名和位置-->
        <sqlMapGenerator targetPackage="com.dingdang.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!-- 生成DAO的包名和位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.dingdang.dao" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
 
        <!-- 要生成的表 tableName是數據庫中的表名或視圖名 domainObjectName是實體類名,這裏舉例,只配置了一個table,你可以配置多個-->
 
        <table tableName="goods" domainObjectName="Goods" enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/>
 
    </context>
</generatorConfiguration>  

 

3.maven 中配置 mybatis-generator:generate 運行即可

注意事項:mybatis-generator 如果多次運行再啓動項目會出現

org.mybatis.generator.exception.XMLParserException: XML Parser 

的錯誤 原因是在mapper中有重複的resultMap 

解決辦法: 刪除goodsMapper.xml 重新生成

在開發過程最好是單獨建立一個項目生成這些Mapper映射 dao 文件以防污染開發中的項目

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章