欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mybatis Generator具體使用小技巧

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

1、問題描述

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

2、解決方案

最近使用主要有兩點(diǎn)變化:

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

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

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ū)動(dòng), 示例中使用的是:mysql,oracel數(shù)據(jù)庫更換成oracle驅(qū)動(dòng)就好了;

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>
            <!-- 是否去除自動(dòng)生成的注釋 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ù)表,其中的幾個(gè)參數(shù)自己可以試試,帶ByExample是生成示例,有些朋友喜歡用這個(gè)方式,個(gè)人還是比較喜歡直接用原始sql,加參數(shù)的方式;
(6)這里有個(gè)點(diǎn),<table>中的generatedKey,假如數(shù)據(jù)庫用自增id的話,可以選擇這個(gè),使用uuid的話,注釋掉就好了。

2.3 執(zhí)行

2.3.1 雙擊插件

文件生成完成:

2.3.2 生成實(shí)體類

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

2.3.3 生成mapper類

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

2.3.4 生成xml類

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

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

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

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

說明:

擴(kuò)展類繼承,自動(dòng)生成的屬性,這個(gè)新增或者修改的屬性同時(shí)會(huì)生效;

<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é)

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

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

相關(guān)文章

  • JAVA設(shè)計(jì)模式之組合模式原理與用法詳解

    JAVA設(shè)計(jì)模式之組合模式原理與用法詳解

    這篇文章主要介紹了JAVA設(shè)計(jì)模式之組合模式,簡(jiǎn)單說明了組合模式的原理,并結(jié)合實(shí)例分析了java組合模式的具體用法,需要的朋友可以參考下
    2017-08-08
  • MybatisPlus EntityWrapper如何自定義SQL

    MybatisPlus EntityWrapper如何自定義SQL

    這篇文章主要介紹了MybatisPlus EntityWrapper如何自定義SQL,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • SpringBoot快速入門詳解

    SpringBoot快速入門詳解

    springboot提供了一種快速使用spring的方式,基于coc的思想,即約定大于配置,通過本文學(xué)習(xí)快速掌握springboot入門知識(shí),感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • Java支持方法重載的原因

    Java支持方法重載的原因

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識(shí),文章圍繞著Java方法重載展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • java數(shù)組排序示例分享

    java數(shù)組排序示例分享

    這篇文章主要介紹了java數(shù)組排序示例,需要的朋友可以參考下
    2014-03-03
  • SpringBoot接收與響應(yīng)xml報(bào)文請(qǐng)求的實(shí)現(xiàn)

    SpringBoot接收與響應(yīng)xml報(bào)文請(qǐng)求的實(shí)現(xiàn)

    我們?cè)谶M(jìn)行接口對(duì)接時(shí),會(huì)出現(xiàn)報(bào)文形式的信息傳遞,這篇文章主要給大家介紹了關(guān)于SpringBoot接收與響應(yīng)xml報(bào)文請(qǐng)求的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • 詳解Spring的@Value作用與使用場(chǎng)景

    詳解Spring的@Value作用與使用場(chǎng)景

    這篇文章主要介紹了詳解Spring的@Value作用與使用場(chǎng)景,Spring為大家提供許多開箱即用的功能,@Value就是一個(gè)極其常用的功能,它能將配置信息注入到bean中去,需要的朋友可以參考下
    2023-05-05
  • 詳解IntelliJ IDEA 快捷鍵整合(大全)

    詳解IntelliJ IDEA 快捷鍵整合(大全)

    這篇文章主要介紹了詳解IntelliJ IDEA 快捷鍵整合,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-08-08
  • 初探Java中的泛型

    初探Java中的泛型

    這篇文章主要介紹了Java中泛型的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-08-08
  • java?獲取子串速率比較分析

    java?獲取子串速率比較分析

    這篇文章主要為大家介紹了java?獲取子串速率比較分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12

最新評(píng)論