溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Mybatis逆向工程的實(shí)現(xiàn)

發(fā)布時(shí)間:2020-08-04 09:42:07 來源:億速云 閱讀:149 作者:小豬 欄目:編程語言

這篇文章主要講解了Mybatis逆向工程的實(shí)現(xiàn),內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

簡(jiǎn)單的理解,MyBatis逆向工程,就是通過相應(yīng)插件,自動(dòng)生成MyBatis數(shù)據(jù)庫(kù)連接的一些文件。

mybatis需要編寫sql語句,mybatis官方提供逆向工程,可以針對(duì)單表自動(dòng)生成mybatis執(zhí)行所需要的代碼(mapper.java、mapper.xml、pojo…),提高工作效率。

命令:

mvn mybatis-generator:generate

項(xiàng)目結(jié)構(gòu):

Mybatis逆向工程的實(shí)現(xiàn)

generatorConfig.xml內(nèi)容示例

<&#63;xml version="1.0" encoding="UTF-8"&#63;>
<!DOCTYPE generatorConfiguration
    PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
    "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>

  <context id="mysqlgenerator" targetRuntime="MyBatis3">
    <property name="autoDelimitKeywords" value="true"/>
    <!--可以使用``包括字段名,避免字段名與sql保留字沖突報(bào)錯(cuò)-->
    <property name="beginningDelimiter" value="`"/>
    <property name="endingDelimiter" value="`"/>

    <!-- 自動(dòng)生成toString方法 -->
    <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
    <!-- 自動(dòng)生成equals方法和hashcode方法 -->
    <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"/>

    <!-- 非官方插件 https://github.com/itfsw/mybatis-generator-plugin -->
    <!-- 查詢單條數(shù)據(jù)插件 -->
    <plugin type="com.itfsw.mybatis.generator.plugins.SelectOneByExamplePlugin"/>
    <!-- 查詢結(jié)果選擇性返回插件 -->
    <plugin type="com.itfsw.mybatis.generator.plugins.SelectSelectivePlugin"/>
    <!-- Example Criteria 增強(qiáng)插件 -->
    <plugin type="com.itfsw.mybatis.generator.plugins.ExampleEnhancedPlugin"/>
    <!-- 數(shù)據(jù)Model屬性對(duì)應(yīng)Column獲取插件 -->
    <plugin type="com.itfsw.mybatis.generator.plugins.ModelColumnPlugin"/>
    <!-- 邏輯刪除插件 -->
    <plugin type="com.itfsw.mybatis.generator.plugins.LogicalDeletePlugin">
      <!-- 這里配置的是全局邏輯刪除列和邏輯刪除值,當(dāng)然在table中配置的值會(huì)覆蓋該全局配置 -->
      <!-- 邏輯刪除列類型只能為數(shù)字、字符串或者布爾類型,數(shù)據(jù)庫(kù)中用tinyint(1) -->
      <property name="logicalDeleteColumn" value="deleted"/>
      <!-- 邏輯刪除-已刪除值 -->
      <property name="logicalDeleteValue" value="1"/>
      <!-- 邏輯刪除-未刪除值 -->
      <property name="logicalUnDeleteValue" value="0"/>
    </plugin>

    <commentGenerator>
      <property name="suppressDate" value="true"/>
      <!--<property name="suppressAllComments" value="true"/>-->
    </commentGenerator>

    <!--數(shù)據(jù)庫(kù)連接信息-->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://192.168.1.100:3306/theorydance&#63;useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=UTC&amp;verifyServerCertificate=false&amp;useSSL=false"
            userId="root"
            password="123456"/>

    <javaTypeResolver>
      <property name="useJSR310Types" value="true"/>
    </javaTypeResolver>

    <javaModelGenerator targetPackage="demo.theorydance.db.domain" targetProject="src/main/java"/>
    <sqlMapGenerator targetPackage="demo.theorydance.db.dao" targetProject="src/main/resources"/>
    <javaClientGenerator type="XMLMAPPER" targetPackage="demo.theorydance.db.dao"
               targetProject="src/main/java"/>
    <!--表名-->
    <table tableName="student"></table>
  </context>
</generatorConfiguration>

pom.xml中添加插件

<build>
    <plugins>
      <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.7</version>
        <configuration>
          <configurationFile>
            mybatis-generator/generatorConfig.xml
          </configurationFile>
          <overwrite>true</overwrite>
          <verbose>true</verbose>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.46</version>
          </dependency>
          <dependency>
            <groupId>com.itfsw</groupId>
            <artifactId>mybatis-generator-plugin</artifactId>
            <version>1.2.12</version>
          </dependency>
        </dependencies>
      </plugin>

    </plugins>

  </build>

看完上述內(nèi)容,是不是對(duì)Mybatis逆向工程的實(shí)現(xiàn)有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI