最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis Generator具體使用小技巧

 更新時間:2021年12月24日 15:44:40   作者:軟件老王  
本文主要介紹了Mybatis Generator具體使用小技巧,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

1、問題描述

mybatis generator 簡單說就是生成一些mybatis的公共方法,用了好多年了,一直也沒記錄過,最近使用稍微有了點變話,簡單記錄下,方便下次使用,也希望可以幫到其他人。

2、解決方案

最近使用主要有兩點變化:

(1)以前使用,指定了本地數(shù)據(jù)庫驅(qū)動jar包,本次直接用maven,dependency指定下就好了,配置文件配置好后,團(tuán)隊人員都可以執(zhí)行;

(2)發(fā)現(xiàn)朋友使用的方式挺好的,就是初期開發(fā)過程中,不可避免的會增加或修改一些字段,xml中新加或者重新生成方法,都有點麻煩,通過新增一個新的類,繼承屬性,可以盡可能減少改動;

2.1 pom中指定mybatis generator 插件

  <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.4.0</version>
                <configuration>
            <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.25</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>

說明:

在插件中指定(dependency)數(shù)據(jù)庫的驅(qū)動, 示例中使用的是:mysql,oracel數(shù)據(jù)庫更換成oracle驅(qū)動就好了;

2.2 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>
    <context id="DB2Tables" targetRuntime="MyBatis3">
          <commentGenerator>
            <!-- 是否去除自動生成的注釋 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/ruanjianlaowang"
                        userId="laowang"
                        password="laowang">
        </jdbcConnection>
        
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <javaModelGenerator targetPackage="com.laowang.lwcrud.db.entity" targetProject="./src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="com.laowang.lwcrud.db.mapper" targetProject="./src/main/java">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.laowang.lwcrud.db.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <table tableName="user" domainObjectName="User" enableInsert="true"
               enableDeleteByPrimaryKey="true"
               enableSelectByPrimaryKey="true"
               enableUpdateByPrimaryKey="true"
               enableCountByExample="false"
               enableDeleteByExample="true"
               enableSelectByExample="true"
               enableUpdateByExample="true">
            <property name="useActualColumnNames" value="false"/>
<!--            <generatedKey column="id" sqlStatement="MYSQL" identity="true"/>-->
        </table>

    </context>
</generatorConfiguration>

說明:

(1)<jdbcConnection><jdbcConnection>,用于指定數(shù)據(jù)庫連接;
(2)<javaModelGenerator></javaModelGenerator>指定entity目錄;
(3)<javaClientGenerator type="XMLMAPPER" ></javaClientGenerator >指定Mapper接口目錄;
(4)<sqlMapGenerator></sqlMapGenerator>指定xml文件類目錄;
(5)<table></table>指定具體數(shù)據(jù)表,其中的幾個參數(shù)自己可以試試,帶ByExample是生成示例,有些朋友喜歡用這個方式,個人還是比較喜歡直接用原始sql,加參數(shù)的方式;
(6)這里有個點,<table>中的generatedKey,假如數(shù)據(jù)庫用自增id的話,可以選擇這個,使用uuid的話,注釋掉就好了。

2.3 執(zhí)行

2.3.1 雙擊插件

文件生成完成:

2.3.2 生成實體類

生成兩個實體類;對應(yīng)數(shù)據(jù)庫中字段;

2.3.3 生成mapper類

生成mapper方法,包含常用的保存、更新、刪除等;

2.3.4 生成xml類

生成xml方法,對應(yīng)Mapper接口方法;

2.3.5 生成擴(kuò)展文件 (mapper)

新增擴(kuò)展文件,在原有mapper后面增加Ext;

2.3.6 生成擴(kuò)展文件(extmapper.xml)

說明:

擴(kuò)展類繼承,自動生成的屬性,這個新增或者修改的屬性同時會生效;

<mapper namespace="com.laowang.lwcrud.db.mapper.UserExtMapper">
    <resultMap id="BaseResultMap" type="com.laowang.lwcrud.db.entity.User"
               extends="com.laowang.lwcrud.db.mapper.UserMapper.BaseResultMap">
    </resultMap>

2.4 總結(jié)

整體來說,就是個工具的使用,通過插件生成公共的數(shù)據(jù)庫操作方法,然后通過新增擴(kuò)展ext文件記錄自定義方法,避免每次修改數(shù)據(jù)庫字段,對自定義的方法造成影響(假如有指定的屬性字段修改了,也要一并修改),可以方便的使用;

到此這篇關(guān)于Mybatis Generator具體使用小技巧的文章就介紹到這了,更多相關(guān)Mybatis Generator使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Redis集群原理詳細(xì)分析

    Redis集群原理詳細(xì)分析

    Redis集群實現(xiàn)了對Redis的水平擴(kuò)容,即啟動N個redis節(jié)點,將整個數(shù)據(jù)庫分布存儲在這N個節(jié)點中,每個節(jié)點存儲總數(shù)據(jù)的1/N。Redis集群通過分區(qū)來提供一定程度的可用,即使集群中有一部分節(jié)點失效或者無法進(jìn)行通訊,集群也可以繼續(xù)處理命令請求
    2022-12-12
  • Java實現(xiàn)文件的歸檔和解檔

    Java實現(xiàn)文件的歸檔和解檔

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)文件的歸檔和解檔,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Java面試題沖刺第十二天--數(shù)據(jù)庫(2)

    Java面試題沖刺第十二天--數(shù)據(jù)庫(2)

    這篇文章主要為大家分享了最有價值的三道數(shù)據(jù)庫面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Java中常用的設(shè)計模式之單例模式詳解

    Java中常用的設(shè)計模式之單例模式詳解

    這篇文章主要為大家詳細(xì)介紹了Java中常用的設(shè)計模式之單例模式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Java集合框架入門之泛型和包裝類

    Java集合框架入門之泛型和包裝類

    Java 泛型(generics)是 JDK 5 中引入的一個新特性, 泛型提供了編譯時類型安全檢測機制,該機制允許程序員在編譯時檢測到非法的類型。泛型的本質(zhì)是參數(shù)化類型,也就是說所操作的數(shù)據(jù)類型被指定為一個參數(shù)
    2021-10-10
  • Java8學(xué)習(xí)教程之lambda表達(dá)式語法介紹

    Java8學(xué)習(xí)教程之lambda表達(dá)式語法介紹

    眾所周知lambda表達(dá)式是JAVA8中提供的一種新的特性,它支持Java也能進(jìn)行簡單的“函數(shù)式編程”。 下面這篇文章主要給大家介紹了關(guān)于Java8學(xué)習(xí)教程之lambda表達(dá)式語法的相關(guān)資料,需要的朋友可以參考下。
    2017-09-09
  • 謹(jǐn)慎使用Java8的默認(rèn)方法

    謹(jǐn)慎使用Java8的默認(rèn)方法

    為什么要謹(jǐn)慎使用Java8的默認(rèn)方法?本文給出了為什么要慎用Java8默認(rèn)方法的原因,解釋的很詳細(xì),感興趣的朋友可以參考一下
    2016-01-01
  • Springboot如何集成jodconverter做文檔轉(zhuǎn)換

    Springboot如何集成jodconverter做文檔轉(zhuǎn)換

    這篇文章主要介紹了Springboot如何集成jodconverter做文檔轉(zhuǎn)換問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • spring四種依賴注入方式的詳細(xì)介紹

    spring四種依賴注入方式的詳細(xì)介紹

    本篇文章主要介紹了spring四種依賴注入方式的詳細(xì)介紹,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • spring aop之@AfterReturning不生效問題及解決

    spring aop之@AfterReturning不生效問題及解決

    這篇文章主要介紹了spring aop之@AfterReturning不生效問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05

最新評論

永登县| 民乐县| 公主岭市| 全南县| 保定市| 荣成市| 观塘区| 泰来县| 无为县| 临猗县| 金山区| 高阳县| 新竹市| 香格里拉县| 赤峰市| 克拉玛依市| 兴海县| 前郭尔| 剑川县| 乾安县| 玉树县| 蓬溪县| 武宁县| 安图县| 两当县| 渝中区| 绥阳县| 额济纳旗| 从江县| 蓝山县| 吉木乃县| 句容市| 海丰县| 独山县| 阿合奇县| 固始县| 南丹县| 开远市| 平塘县| 赣榆县| 萍乡市|