<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何讓 Mybatis 自動生成代碼,提高開發(fā)效率

          共 3302字,需瀏覽 7分鐘

           ·

          2020-11-07 07:30

          免費送書活動點擊下方鏈接即可參與:

          《Python數(shù)據(jù)分析與大數(shù)據(jù)處理》
          《億級流量Java高并發(fā)與網(wǎng)絡編程實戰(zhàn)》
          《Git從入門到精通》

          在使用 mybatis 過程中, 當手寫 JavaBeanXML 寫的越來越多的時候, 就越來越同意出錯。這種重復性的工作, 我們當然不希望做那么多。

          還好, mybatis 為我們提供了強大的代碼生成--MybatisGenerator

          通過簡單的配置, 我們就可以生成各種類型的實體類, Mapper接口, MapperXML文件, Example對象等。通過這些生成的文件, 我們就可以方便的進行單表進行增刪改查的操作。

          以下的工具使用的都是 IDEA

          1 創(chuàng)建代碼生成器

          1.1 創(chuàng)建Maven項目

          1.1.1 菜單上選擇新建項目

          File | New | Project

          1.1.2 選擇左側(cè)的Maven

          由于我們只是創(chuàng)建一個普通的項目, 此處點擊 Next即可。

          1.1.3 輸入GroupIdArtifactId

          • 在我的項目中,

          GroupId 填 com.homejim.mybatis

          ArtifactId 填 mybatis-generator

          點擊 Next

          1.1.4 Finish

          通過以上步驟, 一個普通的Maven項目就創(chuàng)建好了。

          1.2 配置 generator.xml

          其實名字無所謂, 只要跟下面的 pom.xml 文件中的對應上就好了。


          generatorConfiguration?PUBLIC
          ????????"-//mybatis.org//DTD?MyBatis?Generator?Configuration?1.0//EN"
          ????????"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"?>
          <generatorConfiguration>

          ????
          ????<classPathEntry?location="C:\Users\\Administrator\\.m2\repository\\mysql\\mysql-connector-java\\8.0.12\\mysql-connector-java-8.0.12.jar"/>
          ????<context?id="context"?targetRuntime="MyBatis3">
          ????????<commentGenerator>
          ????????????<property?name="suppressAllComments"?value="false"/>
          ????????????<property?name="suppressDate"?value="true"/>
          ????????commentGenerator>

          ????????
          ????????<jdbcConnection
          ????????????????driverClass="com.mysql.jdbc.Driver"
          ????????????????connectionURL="jdbc:mysql://localhost:3306/mybatis"
          ????????????????userId="root"
          ????????????????password="jim777"/>


          ????????<javaTypeResolver>
          ????????????<property?name="forceBigDecimals"?value="false"/>
          ????????javaTypeResolver>

          ????????
          ????????<javaModelGenerator
          ????????????????targetPackage="com.homejim.mybatis.entity"
          ????????????????targetProject=".\src\main\java">

          ????????????<property?name="enableSubPackages"?value="false"/>
          ????????????<property?name="trimStrings"?value="true"/>
          ????????javaModelGenerator>

          ????????
          ????????<sqlMapGenerator
          ????????????????targetPackage="mybatis/mapper"
          ????????????????targetProject=".\src\main\resources">

          ????????????<property?name="enableSubPackages"?value="false"/>
          ????????sqlMapGenerator>

          ????????
          ????????<javaClientGenerator?type="XMLMAPPER"
          ?????????????????????????????targetPackage="com.homejim.mybatis.mapper"
          ?????????????????????????????targetProject=".\src\main\java">

          ????????????<property?name="enableSubPackages"?value="false"/>
          ????????javaClientGenerator>

          ????????

          ????????<table?tableName="blog"?/>
          ????context>
          generatorConfiguration>

          需要改一些內(nèi)容:

          1. 本地數(shù)據(jù)庫驅(qū)動程序jar包的全路徑(必須要改)。
          2. 數(shù)據(jù)庫的相關配置(必須要改
          3. 相關表的配置(必須要改
          4. 實體類生成存放的位置。
          5. MapperXML 生成文件存放的位置。
          6. Mapper 接口存放的位置。

          如果不知道怎么改, 請看后面的配置詳解

          1.3 配置 pom.xml

          在原基礎上添加一些內(nèi)容。


          <project?xmlns="http://maven.apache.org/POM/4.0.0"
          ?????????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          ?????????xsi:schemaLocation="http://maven.apache.org/POM/4.0.0?http://maven.apache.org/xsd/maven-4.0.0.xsd">

          ????<modelVersion>4.0.0modelVersion>

          ????<groupId>com.homejim.mybatisgroupId>
          ????<artifactId>mybatis-generatorartifactId>
          ????<version>1.0-SNAPSHOTversion>
          ????
          ????<build>
          ????????<finalName>mybatis-generatorfinalName>
          ????????<plugins>
          ????????????<plugin>
          ????????????????<groupId>org.mybatis.generatorgroupId>
          ????????????????<artifactId>mybatis-generator-maven-pluginartifactId>
          ????????????????<version>1.3.7version>
          ????????????????<configuration>
          ???????????????????
          ???????????????????<configurationFile>src/main/resources/generator.xmlconfigurationFile>
          ????????????????????<verbose>trueverbose>
          ????????????????????<overwrite>trueoverwrite>
          ????????????????configuration>
          ????????????????<executions>
          ????????????????????<execution>
          ????????????????????????<id>Generate?MyBatis?Artifactsid>
          ????????????????????????<goals>
          ????????????????????????????<goal>generategoal>
          ????????????????????????goals>
          ????????????????????execution>
          ????????????????executions>
          ????????????????<dependencies>
          ????????????????????<dependency>
          ????????????????????????<groupId>org.mybatis.generatorgroupId>
          ????????????????????????<artifactId>mybatis-generator-coreartifactId>
          ????????????????????????<version>1.3.7version>
          ????????????????????dependency>
          ????????????????dependencies>
          ????????????plugin>
          ????????plugins>
          ????build>
          ????
          project>

          需要注意的是 configurationFile 中的文件指的是 generator.xml。因此路徑寫的是該文件的相對路徑, 名稱也跟該文件相同。

          到此, mybatis-generator 就可以使用啦。

          1.4 使用及測試

          1.4.1 打開 Maven Projects 視圖

          在 IDEA 上, 打開:

          View | Tools | Windwos | Maven Projects

          Maven項目窗口

          1.4.2 Maven Projects 中雙擊 mybatis-generator

          在右側(cè)此時可以看到 Maven Projects 了。找到 mybatis-generator 插件。

          mybatis-generator | Plugins | mybatis-generator | mybatis-generator

          運行插件

          1.4.3 雙擊運行

          運行正確后, 生成代碼, 得到如下的結構

          2 XML 配置詳解

          僅僅是上面那么簡單的使用還不夠爽。那么我們就可以通過更改 generator.xml 配置文件的方式進行生成的配置。

          2.1 優(yōu)先

          推薦查看官方的文檔。

          英文不錯的:官方網(wǎng)站。

          中文翻譯版:翻譯版網(wǎng)站

          2.2 官網(wǎng)沒有的

          2.2.1 property 標簽

          該標簽在官網(wǎng)中只是說用來指定元素的屬性, 至于怎么用沒有詳細的講解。

          2.2.1.1 分隔符相關

          "autoDelimitKeywords"?value="true"/>
          "beginningDelimiter"?value="`"/>
          "endingDelimiter"?value="`"/>

          以上的配置對應的是 mysql當數(shù)據(jù)庫中的字段和數(shù)據(jù)庫的關鍵字一樣時, 就會使用分隔符。

          比如我們的數(shù)據(jù)列是 delete, 按以上的配置后, 在它出現(xiàn)的地方, 就變成 delete

          2.2.1.2 編碼

          默認是使用當前的系統(tǒng)環(huán)境的編碼, 可以配置為 GBK 或 UTF-8。

          "javaFileEncoding"?value="UTF-8"/>

          我想項目為 UTF-8, 如果指定生成 GBK, 則自動生成的中文就是亂碼。

          2.2.1.3 格式化


          <property?name="javaFormatter"?value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>

          <property?name="xmlFormatter"?value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>

          這些顯然都是可以自定義實現(xiàn)的的。

          2.2.2 plugins 標簽

          plugins 標簽用來擴展或修改代碼生成器生成的代碼。

          在生成的 XML 中, 是沒有 **** 這個標簽的。該標簽是配置緩存的。

          如果我們想生成這個標簽, 那么可以 plugins 中進行配置。

          <plugin?type="org.mybatis.generator.plugins.CachePlugin"?>
          ????????????<property?name="cache_eviction"?value="LRU"/>
          plugin>
          cache

          比如你想生成的 JavaBean 中自行實現(xiàn) Serializable 接口。

          type="org.mybatis.generator.plugins.SerializablePlugin"?/>
          序列化接口實現(xiàn)

          還能自定義插件。

          這些插件都蠻有用的, 感覺后續(xù)可以專門開一篇文章來講解。

          2.2.3 commentGenerator 標簽

          看名稱, 就知道是用來生成注釋用的。

          默認配置:

          ????<commentGenerator?>
          ????????<property?name="suppressAllComments"?value="false"/>
          ????????<property?name="suppressDate"?value="false"/>
          ????????<property?name="addRemarkComments"?value="false"/>
          ????commentGenerator>

          suppressAllComments:阻止生成注釋, 默認值是false。

          suppressDate: 阻止生成的注釋包含時間戳, 默認為false。

          addRemarkComments: 注釋中添加數(shù)據(jù)庫的注釋, 默認為 false。

          還有一個就是我們可以通過 type 屬性指定我們自定義的注解實現(xiàn)類, 生成我們自己想要的注解。自定義的實現(xiàn)類需要實現(xiàn) org.mybatis.generator.api.CommentGenerator

          出處:https://www.cnblogs.com/homejim/p/9782403.html

          免費送書活動點擊下方鏈接即可參與:
          《Python數(shù)據(jù)分析與大數(shù)據(jù)處理》
          《億級流量Java高并發(fā)與網(wǎng)絡編程實戰(zhàn)》
          《Git從入門到精通》
          瀏覽 54
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  青娱乐A V | 东京热视频网站 | 婷婷色午夜 | 亚洲免费视频观看 | 老熟仑妇乱一区二区AV |