springboot整合mybatis增刪改查(三):mybatis逆向工程

上一篇已經(jīng)把項(xiàng)目基本框架完善虹蓄,接下來就是利用Mybatis Generator逆向工程進(jìn)行mybatis的整合。

我們?cè)趧?chuàng)建項(xiàng)目開始的時(shí)候已經(jīng)勾選web,mybatis,sql等,但是這些依賴還是不夠的侄柔,下面我們要完善相關(guān)依賴

首先建立test1數(shù)據(jù)庫兢哭,創(chuàng)建一個(gè)簡(jiǎn)單的user表

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) DEFAULT NULL COMMENT '用戶名',
  `age` varchar(255) DEFAULT NULL COMMENT '年齡',
  `city` varchar(255) DEFAULT NULL COMMENT '城市',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8;


INSERT INTO `user` VALUES ('1', '張三', '22', '上海');
INSERT INTO `user` VALUES ('2', '李四', '25', '阜陽');

完善pom.xml

添加Druid數(shù)據(jù)庫連接池依賴

<dependency>
           <groupId>com.alibaba</groupId>
           <artifactId>druid-spring-boot-starter</artifactId>
           <version>1.1.10</version>
</dependency>
<!--MyBatis逆向工程-->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.6</version>
        </dependency>

添加逆向工程插件

<plugin>
          <groupId>org.mybatis.generator</groupId>
          <artifactId>mybatis-generator-maven-plugin</artifactId>
          <version>1.3.2</version>
          <configuration>
          <verbose>true</verbose>
           <overwrite>true</overwrite>
           </configuration> 
</plugin>

下面就是對(duì)application.properties的配置了

application.properties

#服務(wù)器
server.port=8080
server.servlet.context-path=/

#熱部署
spring.devtools.remote.restart.enabled=true
spring.devtools.restart.additional-paths=springboot-mybatis/src/main

## 數(shù)據(jù)庫連接配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test1?characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=1234

#默認(rèn)編碼配置
spring.http.encoding.charset=UTF-8
spring.http.encoding.force=true
spring.http.encoding.enabled=true
server.tomcat.uri-encoding=UTF-8

## MyBatis相關(guān)配置
mybatis.type-aliases-package=com.jiangfeixiang.springbootswgger2api.entity
mybatis.mapper-locations=mapper/*.xml

上面這些都很簡(jiǎn)單诅挑,這里不做過多解釋。

下面是最重要的一個(gè)配置generatorConfig.xml用于生成對(duì)應(yīng)的實(shí)體類甲棍,mapper.xml映射以及mapper接口

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>


    <!--指定數(shù)據(jù)庫的jdbc驅(qū)動(dòng)jar包的位置-->
    <classPathEntry location="D:\\mavenrepository\\mavenrepository\\repo\\mysql\\mysql-connector-java\\5.1.6\\mysql-connector-java-5.1.6.jar"/>

    <context id="DB2Tables" targetRuntime="MyBatis3">

        <!--是否在代碼中顯示注釋-->
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!--數(shù)據(jù)庫鏈接地址賬號(hào)密碼-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/test1?characterEncoding=UTF-8"
                        userId="root"
                        password="1234">
        </jdbcConnection>

        <!--生成pojo類存放位置-->
        <javaModelGenerator targetPackage="com.example.springbootmybatis.entity" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!--生成xml映射文件存放位置-->
        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!--生成mapper類存放位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.springbootmybatis.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!--生成對(duì)應(yīng)表及類名-->
        <table tableName="user" domainObjectName="User" enableCountByExample="true"
               enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true"
               selectByExampleQueryId="true">
        </table>
    </context>
</generatorConfiguration>

相關(guān)說明已經(jīng)在注釋里寫出

  • 主要幾個(gè)配置說明
  1. 指定數(shù)據(jù)庫的jdbc驅(qū)動(dòng)jar包的位置
<classPathEntry location="D:\\mavenrepository\\mavenrepository\\repo\\mysql\\mysql-connector-java\\5.1.6\\mysql-connector-java-5.1.6.jar"/>

這個(gè)是您本地mysql jar的位置可以參考如下選擇


mysqljar路徑
  1. targetPackage:是你工程中對(duì)應(yīng)包的路徑
    targetProject:是這個(gè)包在java還是在resources目錄下简识,要是java目錄下就是src/main/java,resources目錄下就是src/main/resources
  2. tableName:是數(shù)據(jù)庫中表的名字;
    domainObjectName:是對(duì)應(yīng)實(shí)體類的名字

上面完成之后接下來就是利用插件一鍵生成對(duì)應(yīng)數(shù)據(jù)了感猛,參考下圖:

逆向工程自動(dòng)生成.png

成功之后可以看到entity包七扰,mapper包等生成對(duì)應(yīng)的數(shù)據(jù)了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市陪白,隨后出現(xiàn)的幾起案子颈走,更是在濱河造成了極大的恐慌,老刑警劉巖咱士,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件立由,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡序厉,警方通過查閱死者的電腦和手機(jī)拆吆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來脂矫,“玉大人枣耀,你說我怎么就攤上這事⊥ピ伲” “怎么了捞奕?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)拄轻。 經(jīng)常有香客問我颅围,道長(zhǎng),這世上最難降的妖魔是什么恨搓? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任院促,我火速辦了婚禮筏养,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘常拓。我一直安慰自己渐溶,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布弄抬。 她就那樣靜靜地躺著茎辐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪掂恕。 梳的紋絲不亂的頭發(fā)上拖陆,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音懊亡,去河邊找鬼依啰。 笑死,一個(gè)胖子當(dāng)著我的面吹牛店枣,可吹牛的內(nèi)容都是我干的速警。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼艰争,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼坏瞄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起甩卓,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤鸠匀,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后逾柿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缀棍,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年机错,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了爬范。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡弱匪,死狀恐怖青瀑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情萧诫,我是刑警寧澤斥难,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站帘饶,受9級(jí)特大地震影響哑诊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜及刻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一镀裤、第九天 我趴在偏房一處隱蔽的房頂上張望竞阐。 院中可真熱鬧,春花似錦暑劝、人聲如沸骆莹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽汪疮。三九已至峭火,卻和暖如春毁习,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背卖丸。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工纺且, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人稍浆。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓载碌,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親衅枫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子嫁艇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

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

  • 1. 今天爸爸給我打電話說來實(shí)在不孝,一個(gè)月了都沒有給家裡電話弦撩,有時(shí)候也很想他們只是不知道說什麼步咪。 他們最喜歡說的...
    綠蘿菇?jīng)?/span>閱讀 151評(píng)論 0 0