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

MyBatisPlus代碼生成器的使用示例

 更新時間:2021年12月30日 08:37:32   作者:萬里顧—程  
本文主要介紹了MyBatisPlus代碼生成器的使用示例,通過 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各個模塊的代碼,感興趣的可以了解一下

AutoGenerator 是 MyBatis-Plus 的代碼生成器,通過 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各個模塊的代碼,極大的提升了開發(fā)效率。

導(dǎo)入依賴

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.0.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.0</version>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-annotations</artifactId>
            <version>1.5.19</version>
        </dependency>

更詳細的代碼生成器配置請查看官方文檔:https://baomidou.com/pages/061573/#superentityclass

表結(jié)構(gòu)

在這里插入圖片描述

當(dāng)前項目結(jié)構(gòu)

在這里插入圖片描述

配置代碼生成器

1、globalConfig 全局策略配置

outputDir

  • 生成文件的輸出目錄
  • 默認值:D 盤根目錄

fileOverride

  • 是否覆蓋已有文件
  • 默認值:false

open

  • 是否打開輸出目錄
  • 默認值:true

enableCache

  • 是否在 xml 中添加二級緩存配置
  • 默認值:false

開發(fā)人員

  • 默認值:null

kotlin

  • 開啟 Kotlin 模式
  • 默認值:false

swagger2

  • 開啟 swagger2 模式
  • 默認值:false

activeRecord

  • 開啟 ActiveRecord 模式
  • 默認值:false

baseResultMap

  • 開啟 BaseResultMap
  • 默認值:false

baseColumnList

  • 開啟 baseColumnList
  • 默認值:false

dateType

  • 時間類型對應(yīng)策略
  • 默認值:TIME_PACK

entityName

  • 實體命名方式
  • 默認值:null 例如:%sEntity 生成 UserEntity

mapperName

  • mapper 命名方式
  • 默認值:null 例如:%sDao 生成 UserDao

xmlName

  • Mapper xml 命名方式
  • 默認值:null 例如:%sDao 生成 UserDao.xml

serviceName

  • service 命名方式
  • 默認值:null 例如:%sBusiness 生成 UserBusiness

serviceImplName

  • service impl 命名方式
  • 默認值:null 例如:%sBusinessImpl 生成 UserBusinessImpl

controllerName

  • controller 命名方式
  • 默認值:null 例如:%sAction 生成 UserAction

idType

  • 指定生成的主鍵的 ID 類型
  • 默認值:null

2、dataSourceConfig 數(shù)據(jù)源配置

dbQuery

  • 數(shù)據(jù)庫信息查詢類
  • 默認由 dbType 類型決定選擇對應(yīng)數(shù)據(jù)庫內(nèi)置實現(xiàn)

? 實現(xiàn) IDbQuery 接口自定義數(shù)據(jù)庫查詢 SQL 語句 定制化返回自己需要的內(nèi)容

dbType

  • 數(shù)據(jù)庫類型
  • 該類內(nèi)置了常用的數(shù)據(jù)庫類型【必須】

schemaName

  • 數(shù)據(jù)庫 schema name
  • 例如 PostgreSQL 可指定為 public

typeConvert

  • 類型轉(zhuǎn)換
  • 默認由 dbType 類型決定選擇對應(yīng)數(shù)據(jù)庫內(nèi)置實現(xiàn)

? 實現(xiàn) ITypeConvert 接口自定義數(shù)據(jù)庫 字段類型 轉(zhuǎn)換為自己需要的 java 類型,內(nèi)置轉(zhuǎn)換類型無法滿足可實現(xiàn) IColumnType 接口自定義

url

  • 驅(qū)動連接的 URL

driverName

  • 驅(qū)動名稱

username

  • 數(shù)據(jù)庫連接用戶名

password

  • 數(shù)據(jù)庫連接密碼
package com.haoming;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

import java.util.ArrayList;


public class ChengCode {
    public static void main(String[] args) {
        //構(gòu)建代碼生成器對象
        AutoGenerator mpg = new AutoGenerator();
        //1、全局配置
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        gc.setOutputDir(projectPath + "/src/main/java");//生成文件的輸出目錄
        gc.setAuthor("鼠皓明");//作者
        gc.setOpen(false);//是否打開輸出目錄
        gc.setFileOverride(false);//是否覆蓋已有的文件
        gc.setServiceName("%sService");//去除Service的I前綴
        gc.setIdType(IdType.ID_WORKER);//主鍵生成策略
        //ONLY_DATE 只使用 java.util.date 代替,SQL_PACK 使用 java.sql 包下的,TIME_PACK 使用 java.time 包下的 java8 新的時間類型
        gc.setDateType(DateType.TIME_PACK);//數(shù)據(jù)庫時間類型 到 實體類時間類型 對應(yīng)策略
        gc.setSwagger2(true);//開啟swagger2模式
        mpg.setGlobalConfig(gc);

        //2、數(shù)據(jù)源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useSSl=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC");
        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("123456");
        dsc.setDbType(DbType.MYSQL);//數(shù)據(jù)庫類型
        mpg.setDataSource(dsc);

        //3、包的配置
        PackageConfig pc = new PackageConfig();
        pc.setModuleName("blog");//父包模塊名
        pc.setParent("com.cheng");//父包名,如果為空,將下面子包名必須寫全部, 否則就只需寫子包名
        pc.setEntity("pojo");
        pc.setMapper("mapper");
        pc.setService("service");
        pc.setController("controller");
        mpg.setPackageInfo(pc);

        //4、策略配置
        StrategyConfig sy = new StrategyConfig();
        sy.setInclude("user");//設(shè)置要映射的表,可以設(shè)置多張
        sy.setNaming(NamingStrategy.underline_to_camel);//從數(shù)據(jù)庫表到文件的命名策略,下劃線轉(zhuǎn)駝峰命名
        sy.setColumnNaming(NamingStrategy.underline_to_camel);//列的命名策略
        sy.setEntityLombokModel(true);//開啟lombok支持
        sy.setLogicDeleteFieldName("deleted");//設(shè)置邏輯刪除字段
        sy.setVersionFieldName("version");//設(shè)置樂觀鎖
        sy.setRestControllerStyle(true);//開啟controller的restful命名
        sy.setControllerMappingHyphenStyle(true);//開啟controller中請求映射的連字符樣式,如:localhost:8080/hello_id_1
        //設(shè)置自動填充
        TableFill create_time = new TableFill("create_time", FieldFill.INSERT);
        TableFill update_time = new TableFill("update_time", FieldFill.INSERT_UPDATE);
        ArrayList<TableFill> tableFills = new ArrayList<>();
        tableFills.add(create_time);
        tableFills.add(update_time);
        mpg.setStrategy(sy);

        //執(zhí)行代碼生成器
        mpg.execute();
    }
}

執(zhí)行代碼生成器,查看項目結(jié)構(gòu)的變化

在這里插入圖片描述

代碼生成器執(zhí)行成功,自動生成 Entity、Mapper、Mapper XML、Service、Controller 等各個模塊的代碼。

到此這篇關(guān)于MyBatisPlus代碼生成器的使用示例的文章就介紹到這了,更多相關(guān)MyBatisPlus代碼生成器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java的Socket實現(xiàn)長連接以及數(shù)據(jù)的發(fā)送和接收方式

    Java的Socket實現(xiàn)長連接以及數(shù)據(jù)的發(fā)送和接收方式

    這篇文章主要介紹了Java的Socket實現(xiàn)長連接以及數(shù)據(jù)的發(fā)送和接收方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Idea中使用Git的流程

    Idea中使用Git的流程

    這篇文章主要介紹了Idea中使用Git的流程,git是目前流行的分布式版本管理系統(tǒng)。本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-09-09
  • Java RabbitMQ的工作隊列與消息應(yīng)答詳解

    Java RabbitMQ的工作隊列與消息應(yīng)答詳解

    這篇文章主要為大家詳細介紹了Python實現(xiàn)學(xué)生成績管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 重學(xué)SpringBoot3之如何發(fā)送Email郵件功能

    重學(xué)SpringBoot3之如何發(fā)送Email郵件功能

    這篇文章主要給大家介紹了重學(xué)SpringBoot3之如何發(fā)送Email郵件功能的相關(guān)資料,文中包括環(huán)境準備、項目配置、代碼實現(xiàn)、最佳實踐和安全性建議,通過采用異步發(fā)送、重試機制、限流等最佳實踐,可以構(gòu)建一個健壯的郵件發(fā)送系統(tǒng),需要的朋友可以參考下
    2024-11-11
  • Java BigDecimal使用方法詳解

    Java BigDecimal使用方法詳解

    Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數(shù)進行精確的運算。雙精度浮點型變量double可以處理16位有效數(shù),但在實際應(yīng)用中,可能需要對更大或者更小的數(shù)進行運算和處理
    2022-12-12
  • Spring?cloud?OpenFeign中動態(tài)URl、動態(tài)傳遞接口地址代碼示例

    Spring?cloud?OpenFeign中動態(tài)URl、動態(tài)傳遞接口地址代碼示例

    openFeign是作為微服務(wù)之間調(diào)用的解決方案,每個微服務(wù)項目是必不可少的,下面這篇文章主要給大家介紹了關(guān)于Spring?cloud?OpenFeign中動態(tài)URl、動態(tài)傳遞接口地址的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • Java實現(xiàn)簡單郵件發(fā)送

    Java實現(xiàn)簡單郵件發(fā)送

    這篇文章主要介紹了Java實現(xiàn)簡單郵件發(fā)送的相關(guān)資料,實例講解了java郵件發(fā)送實現(xiàn)方法,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Ubuntu16.04 64位下JDK1.7的安裝教程

    Ubuntu16.04 64位下JDK1.7的安裝教程

    這篇文章主要為大家詳細介紹了Ubuntu16.04 64位下JDK1.7的安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 詳解java枚舉用法及實例

    詳解java枚舉用法及實例

    這篇文章主要介紹了Java枚舉詳解及使用實例,本文直接給出實例代碼,需要的朋友可以參考下
    2017-04-04
  • Mybatis Update操作返回值問題

    Mybatis Update操作返回值問題

    在獲取update操作的返回值時遇到了一個問題,似乎 Mybatis 進行 update 操作得到的 int 返回值并不是影響的行數(shù),下面通過本文給大家分享Mybatis Update操作返回值問題,需要的朋友參考下吧
    2017-09-09

最新評論

佛学| 东台市| 舒兰市| 连城县| 扶余县| 天镇县| 新兴县| 丽水市| 蓝田县| 密山市| 甘孜县| 夏河县| 广饶县| 牟定县| 敖汉旗| 宁国市| 开远市| 永泰县| 抚宁县| 泗水县| 礼泉县| 枣阳市| 邻水| 兰坪| 台安县| 即墨市| 大余县| 岑巩县| 蕲春县| 蕉岭县| 湟源县| 陇西县| 景洪市| 比如县| 平果县| 利辛县| 客服| 芦溪县| 宜兰市| 琼结县| 乳山市|