springboot中通用mapper結(jié)合mybatis generator的使用

通用mapper是為了方便開發(fā)人員對單表進行crud操作而產(chǎn)生的一套通用方法友鼻。

通用mapper只支持單表操作,可以根據(jù)自己的需求開發(fā)自己的通用方法知染。

Mybatis Generator是一個自動生成代碼工具寺枉,可以在開發(fā)中極大的提高我們的開發(fā)效率眨唬,省去了我們寫實體類,mapper接口和xml的時間拨黔。有了這個插件蛔溃,我們可以只關(guān)心數(shù)據(jù)庫表的設(shè)計。

下面介紹一下如何在springboot項目中使用通用mapper和mbg篱蝇。

1.首先贺待,我們需要在項目中添加mybatis和通用mapper的maven依賴,以及配置mbg啟動方式為maven啟動方式零截。

WechatIMG2.jpeg
WechatIMG.jpeg

添加mybatis和通用mapper的maven依賴:

      <!--mybatis -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>
        <!--mapper-->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>

配置mbg為maven啟動方式

<!--配置mbg-->
<!--此處應(yīng)注意mybatis-generator-maven-plugin的版本-->
<!--較低版本的依賴會導(dǎo)致xml中包含@mbg.generator注釋的代碼不會被覆蓋麸塞,造成增量疊加問題-->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.5</version>
                <configuration>
  <!--generator配置文件所在位置-->   
                 <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>${mysql.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>tk.mybatis</groupId>
                        <artifactId>mapper</artifactId>
                        <version>3.4.0</version>
                    </dependency>
                </dependencies>
            </plugin>

2.配置mbg的配置文件,制定代碼生成規(guī)則
各配置參數(shù)詳解參照http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.md 在此不作過多解釋

WechatIMG3.jpeg
<?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">
<!--根節(jié)點 -->
<generatorConfiguration>
    <!-- 指定外部的屬性元素 -->
    <properties resource="application.yml"/>
    <!-- 必須 指定生成一組對象的環(huán)境 -->
    <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <!--分隔符 -->
        <property name="autoDelimitKeywords" value="true"/>
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>

        <!-- 通用mapper插件 -->
        <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
              <!-- 此處的 MyMapper注意一定不能被掃描到-->
            <property name="mappers" value="com.demo.utils.MyMapper"/>
        </plugin>
        <!-- 注釋 規(guī)則-->
        <commentGenerator>
            <property name="suppressAllComments" value="false"/>
            <property name="suppressDate" value="true"/>
        </commentGenerator>


        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/test"
                        userId="root"
                        password="123456">
        </jdbcConnection>

        <javaModelGenerator targetPackage="com.demo.domain" targetProject="src/main/java"/>
        <sqlMapGenerator targetPackage="sqlmapper" targetProject="src/main/resources"/>
        <javaClientGenerator targetPackage="com.demo.mapper" targetProject="src/main/java"
                             type="XMLMAPPER"/>
        <table tableName="%">
            <!--mysql 配置-->
            <generatedKey column="id" sqlStatement="Mysql" />
            <!--oracle 配置-->
            <!--<generatedKey column="id" sqlStatement="select SEQ_{1}.nextval from dual" identity="false" type="pre"/>-->
        </table>
    </context>
</generatorConfiguration>

3.生成一組對象涧衙,測試通用mapper的方法
通用mapper接口請參照 https://mapperhelper.github.io/all/

使用maven生成對象

掃描mapper接口所在包

WechatIMG5.jpeg

測試通用mapper方法

WechatIMG6.jpeg

使用通用mapper極大的減少了我們寫簡單查詢方法必要性哪工。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市弧哎,隨后出現(xiàn)的幾起案子雁比,更是在濱河造成了極大的恐慌,老刑警劉巖撤嫩,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偎捎,死亡現(xiàn)場離奇詭異,居然都是意外死亡序攘,警方通過查閱死者的電腦和手機茴她,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來两踏,“玉大人败京,你說我怎么就攤上這事∶稳荆” “怎么了赡麦?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵朴皆,是天一觀的道長。 經(jīng)常有香客問我泛粹,道長遂铡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任晶姊,我火速辦了婚禮扒接,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘们衙。我一直安慰自己钾怔,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布蒙挑。 她就那樣靜靜地躺著宗侦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪忆蚀。 梳的紋絲不亂的頭發(fā)上矾利,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天,我揣著相機與錄音馋袜,去河邊找鬼男旗。 笑死,一個胖子當(dāng)著我的面吹牛欣鳖,可吹牛的內(nèi)容都是我干的察皇。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼观堂,長吁一口氣:“原來是場噩夢啊……” “哼让网!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起师痕,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤溃睹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后胰坟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體因篇,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年笔横,在試婚紗的時候發(fā)現(xiàn)自己被綠了竞滓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡吹缔,死狀恐怖商佑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情厢塘,我是刑警寧澤茶没,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布肌幽,位于F島的核電站,受9級特大地震影響抓半,放射性物質(zhì)發(fā)生泄漏喂急。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一笛求、第九天 我趴在偏房一處隱蔽的房頂上張望廊移。 院中可真熱鬧,春花似錦探入、人聲如沸狡孔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽步氏。三九已至,卻和暖如春徒爹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背芋类。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工隆嗅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人侯繁。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓胖喳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贮竟。 傳聞我的和親對象是個殘疾皇子丽焊,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)咕别,斷路器技健,智...
    卡卡羅2017閱讀 134,637評論 18 139
  • 1. 簡介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL惰拱、存儲過程以及高級映射的優(yōu)秀的...
    笨鳥慢飛閱讀 5,461評論 0 4
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,838評論 25 707
  • 行程:民豐--且末 關(guān)鍵詞: 沙塵暴下的“北京” 今天就是趕路的一天雌贱。民豐到且末縣,大部分都在穿越沙漠偿短,灰土狼煙欣孤,...
    蘇菲的流水賬閱讀 185評論 0 1
  • 五月的梅雨潮弄了木質(zhì)拖鞋 抬腳的起承轉(zhuǎn)合里糯起了江南雨 看屋檐裝飾青色的天空 青苔悄悄等待時機生長 所有陰暗中的生...
    Drunkey閱讀 532評論 0 2