自己的筆記--springboot在項(xiàng)目運(yùn)行逆向工程與配置通用mapper獲取sqlserver的數(shù)據(jù)

介紹一下兩個(gè)知識(shí)點(diǎn):
1.逆向工程:因?yàn)閿?shù)據(jù)庫的類與xml文件與dao類實(shí)現(xiàn)都比較麻煩,當(dāng)數(shù)據(jù)庫的表較多的時(shí)候不可能一個(gè)一個(gè)實(shí)現(xiàn)旁仿,而且這個(gè)重復(fù)性操作比較多,因此mybaits提供了逆向工程幫忙生成這些文件
2.通用mapper:用于單表操作比較好用,因?yàn)樽詭Я艘恍┖唵蔚脑鰟h查改單表操作敌呈,可以不需要通過寫sql語句就可以實(shí)現(xiàn)
廢話不多說袍辞,show code
新建springboot項(xiàng)目鞋仍,在resources新建mybatis-generator文件夾,新建兩個(gè)兩個(gè)文件:init.properties與tk-generatorConfig.xml革屠,如圖


image.png

init.properties代碼:


projectModel=src/main/java
projectMapper=src/main/java

resources=src/main/resources

jdbc_driver =com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc_url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=xxx
jdbc_user=config
jdbc_password=123456

user凿试,password排宰,url需要填寫自己的sqlserver信息
tk-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ù)庫信息準(zhǔn)備-->
  <properties resource="mybatis-generator/init.properties"/>

  <context id="Oracle" targetRuntime="MyBatis3" defaultModelType="flat">

      <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
          <property name="mappers" value="tk.mybatis.mapper.common.Mapper" />
          <!--caseSensitive默認(rèn)false那婉,當(dāng)數(shù)據(jù)庫表名區(qū)分大小寫時(shí)板甘,可以將該屬性設(shè)置為true-->
          <property name="caseSensitive" value="true"/>
      </plugin>


      <plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
      <plugin type="org.mybatis.generator.plugins.ToStringPlugin" />

      <!-- 阻止生成自動(dòng)注釋 -->
      <commentGenerator>
          <property name="javaFileEncoding" value="UTF-8"/>
          <property name="suppressDate" value="true"/>
          <property name="suppressAllComments" value="true"/>
      </commentGenerator>

      <!--數(shù)據(jù)庫鏈接地址賬號密碼-->
      <jdbcConnection driverClass="${jdbc_driver}"
                      connectionURL="${jdbc_url}"
                      userId="${jdbc_user}"
                      password="${jdbc_password}" />


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

      <!--生成Model類存放位置-->
      <javaModelGenerator targetPackage="com.example.test.demotest.model"
                          targetProject="${projectModel}">
          <property name="enableSubPackages" value="true"/>
          <property name="trimStrings" value="true"/>
      </javaModelGenerator>

      <!--生成映射文件存放位置-->
      <sqlMapGenerator targetPackage="database.mapping.config"
                       targetProject="${resources}">
          <property name="enableSubPackages" value="true"/>
      </sqlMapGenerator>

      <!--生成Dao類存放位置-->
      <!-- 客戶端代碼,生成易于使用的針對Model對象和XML配置文件 的代碼
              type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper對象
              type="XMLMAPPER",生成SQLMap XML文件和獨(dú)立的Mapper接口
      -->
      <javaClientGenerator type="XMLMAPPER"
                           targetPackage="com.example.test.demotest.mapper"
                           targetProject="${projectMapper}">
          <property name="enableSubPackages" value="true"/>
      </javaClientGenerator>


     <!--xxx是數(shù)據(jù)庫的表名详炬,yyy是生成的java的類的名字-->
      <table tableName="xxx"  domainObjectName="yyy"
             enableCountByExample="false"
             enableUpdateByExample="false"
             enableDeleteByExample="false"
             enableSelectByExample="false"
             selectByExampleQueryId="false">
      </table>
  
  </context>
</generatorConfiguration>

接著在pom.xml增加依賴與插件,要增加的依賴

 <!-- 數(shù)據(jù)庫連接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.10</version>
        </dependency>
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <version>7.1.3.jre8-preview</version>
        </dependency>
        <!--mybatis -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>
        <!--mapper -->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>1.2.4</version>
        </dependency>

接著在plugins標(biāo)簽里增加以下代碼,用于插件

  <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.6</version>
                <executions>
                    <execution>
                        <id>Generate MyBatis Artifacts</id>
                        <phase>deploy</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <!-- generator 工具配置文件的位置 -->
                    <configurationFile>src/main/resources/mybatis-generator/tk-generatorConfig.xml</configurationFile>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
                <dependencies>
                    <!--<dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId>
                        <version>1.0</version> </dependency> -->
                    <dependency>
                        <groupId>com.microsoft.sqlserver</groupId>
                        <artifactId>mssql-jdbc</artifactId>
                        <version>7.1.3.jre8-preview</version>
                    </dependency>
                    <!--<dependency> -->
                    <!--<groupId>tk.mybatis</groupId> -->
                    <!--<artifactId>mapper</artifactId> -->
                    <!--<version>3.4.6</version> -->
                    <!--</dependency> -->


                    <dependency>
                        <groupId>tk.mybatis</groupId>
                        <artifactId>mapper-spring-boot-starter</artifactId>
                        <version>1.2.4</version>
                    </dependency>

                </dependencies>
            </plugin>

運(yùn)行圖中的插件

image.png

就可以了盐类,當(dāng)然這個(gè)是使用插件完成的,有時(shí)候逆向工程呛谜,直接生成代碼復(fù)制粘貼的效果會(huì)更好在跳,因此可以使用這個(gè)來生成逆向工程的代碼,再復(fù)制粘貼到需要的文件中
github地址:https://github.com/qiubochen/mybatis-generator
最后要使用通用mapper需要掃描到你的mapper類隐岛,否則無法注入猫妙,可以在啟動(dòng)類上加@MapperScan("com.example.test.demotest.mapper")
image.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市聚凹,隨后出現(xiàn)的幾起案子割坠,更是在濱河造成了極大的恐慌,老刑警劉巖妒牙,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件彼哼,死亡現(xiàn)場離奇詭異,居然都是意外死亡湘今,警方通過查閱死者的電腦和手機(jī)敢朱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來摩瞎,“玉大人拴签,你說我怎么就攤上這事∮洳颍” “怎么了篓吁?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蚪拦。 經(jīng)常有香客問我杖剪,道長,這世上最難降的妖魔是什么驰贷? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任盛嘿,我火速辦了婚禮,結(jié)果婚禮上括袒,老公的妹妹穿的比我還像新娘次兆。我一直安慰自己,他們只是感情好锹锰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布芥炭。 她就那樣靜靜地躺著漓库,像睡著了一般。 火紅的嫁衣襯著肌膚如雪园蝠。 梳的紋絲不亂的頭發(fā)上渺蒿,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機(jī)與錄音彪薛,去河邊找鬼茂装。 笑死,一個(gè)胖子當(dāng)著我的面吹牛善延,可吹牛的內(nèi)容都是我干的少态。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼易遣,長吁一口氣:“原來是場噩夢啊……” “哼彼妻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起豆茫,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤澳骤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后澜薄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摊册,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年肤京,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片茅特。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡忘分,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出白修,到底是詐尸還是另有隱情妒峦,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布兵睛,位于F島的核電站肯骇,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏祖很。R本人自食惡果不足惜笛丙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望假颇。 院中可真熱鬧胚鸯,春花似錦、人聲如沸笨鸡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至哥桥,卻和暖如春辙浑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背泰讽。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工例衍, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人已卸。 一個(gè)月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓佛玄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親累澡。 傳聞我的和親對象是個(gè)殘疾皇子梦抢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354

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