MyBatis的逆向工程

MyBatis的逆向工程

一:什麼是逆行工程。

MyBatis是一款優秀的持久層框架,它支持定製化SQL、存儲過程以及高級映射。MyBatis 避免了幾乎全部的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 能夠使用簡單的 XML 或註解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成數據庫中的記錄。

當數據庫表比較多的時候,重複的建立pojo對象和簡單的數據庫表的(CRUD)操做的mapper,效率低,官方給出了使用mybatis Generator用來根據數據庫表逆向生成pojo和mapper文件,極大的方便開發。

二:簡單教程

  • maven的pom.xml中添加插件
<packaging>jar</packaging>
<dependencies>

        <!-- 添加對mybatis的依賴 -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.miemiedev</groupId>
            <artifactId>mybatis-paginator</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
        </dependency>
        <!-- MySql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!-- 鏈接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
        </dependency>

        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.6</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <!-- mybatis逆向工程 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.7</version>
                <configuration>
                    <!--配置文件的位置-->
                    <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>
        </plugins>
    </build>
  • 建立配置文件 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>
    <!--引入數據庫配置文件方便修改-->
    <properties resource="jdbc.properties"/>
    <!--數據庫驅動文件  須要修改 TODO-->
    <classPathEntry
            location="/Volumes/Tool/JAVA_Tool/maven/Maven_Repository/mysql/mysql-connector-java/5.1.32/mysql-connector-java-5.1.32.jar"/>

    <context id="context" targetRuntime="MyBatis3Simple">
        <commentGenerator>
            <!-- 是否去除自動生成的註釋,true:是;false:否 -->
            <property name="suppressAllComments" value="true"/>
            <property name="suppressDate" value="false"/>
        </commentGenerator>
        <!--數據庫鏈接的信息:驅動類、鏈接地址、用戶名、密碼 -->
        <jdbcConnection driverClass="${jdbc.driverClassName}"
                        connectionURL="${jdbc.url}"
                        userId="${jdbc.username}"
                        password="${jdbc.password}"/>
        <!--默認false,把JDBC DECIMAL 和 NUMERIC 類型解析爲 Integer,-->
        <!--爲 true時把JDBC DECIMAL 和 NUMERIC 類型解析爲java.math.BigDecimal -->
        <!-- 非必需,類型處理器,在數據庫類型和java類型之間的轉換控制-->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!--生成PO類的位置 配置生成的實體包-->
        <!--targetPackage:生成的實體包位置,默認存放在src目錄下-->
        <!--targetProject:相對路徑  路徑拼接結果 src/main/java/one/domain -->
        <javaModelGenerator targetPackage="one.domain" targetProject="src/main/java">
            <!-- enableSubPackages:是否讓schema做爲包的後綴 -->
            <property name="enableSubPackages" value="false"/>
            <!-- 從數據庫返回的值被清理先後的空格 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- 實體包對應映射文件位置及名稱,默認存放在src目錄下 同上 -->
        <sqlMapGenerator targetPackage="MapperXml" targetProject="src/main/resources">
            <!-- enableSubPackages:是否讓schema做爲包的後綴 -->
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>
        <!--targetPackage:mapper接口生成的位置-->
        <javaClientGenerator targetPackage="one.mapper" type="XMLMAPPER" targetProject="src/main/java">
            <!-- enableSubPackages:是否讓schema做爲包的後綴 -->
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>
        <!--配置表-->
        <!--schema:不用填寫-->
        <!--tableName: 表名 TODO-->
        <!--enableCountByExample、enableSelectByExample、enableDeleteByExample、enableUpdateByExample、selectByExampleQueryId:-->
        <!--去除自動生成的註釋例子-->
        <table tableName="tb_user" enableCountByExample="false" enableDeleteByExample="false"
               enableSelectByExample="false" enableUpdateByExample="false"/>
    </context>
</generatorConfiguration>
  • 運行Generator類便可生成

我已經作好項目了 下載便可運行java

相關文章
相關標籤/搜索