MyBatis的逆向工程的解析及簡單教程(附代碼)

來源:互聯網
上載者:User

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類即可產生

我已經做好項目了 下載即可運行

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.