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

springboot3.0整合mybatis-flex實(shí)現(xiàn)逆向工程的示例代碼

 更新時(shí)間:2024年06月24日 11:23:35   作者:小神話ing  
逆向工程先創(chuàng)建數(shù)據(jù)庫(kù)表,由框架負(fù)責(zé)根據(jù)數(shù)據(jù)庫(kù)表,自動(dòng)生成mybatis所要執(zhí)行的代碼,本文就來(lái)介紹一下springboot mybatis-flex逆向工程,感興趣的可以了解一下

什么是mybatis逆向工程?

mybatis需要程序員編寫(xiě)SQL語(yǔ)句。mybatis官網(wǎng)提供了逆向工程,針對(duì)對(duì)于單表可自動(dòng)生成mybatis所要執(zhí)行的代碼(mapper.java、mapper.xml、pojo…)

實(shí)際開(kāi)發(fā)中常用的逆向工程方式:

由數(shù)據(jù)庫(kù)的表生成代碼,之所以強(qiáng)調(diào)“單表”兩個(gè)字,是因?yàn)閙ybatis逆向工程生成的Mapper接口所進(jìn)行的操作都是針對(duì)單表的。

引入基本依賴

<dependency>
   <groupId>com.zaxxer</groupId>
   <artifactId>HikariCP</artifactId>
   <version>5.0.1</version>
</dependency>

<dependency>
   <groupId>com.mybatis-flex</groupId>
   <artifactId>mybatis-flex-spring-boot-starter</artifactId>
   <version>1.5.3</version>
</dependency>

<dependency>
   <groupId>com.mybatis-flex</groupId>
   <artifactId>mybatis-flex-codegen</artifactId>
   <version>1.5.3</version>
</dependency>

mybatis-flex yml配置

mybatis-flex:
  # 啟動(dòng)時(shí)檢查是否存在 MyBatis XML 文件,默認(rèn)不檢查
  check-config-location: false
  # 是否控制臺(tái)打印 MyBatis-Flex 的 LOGO 及版本號(hào)
  global-config:
    print-banner: true
    normal-value-of-logic-delete: 0
    deleted-value-of-logic-delete: 1

生成器,修改為自己的配置即可

package gen;

import com.mybatisflex.codegen.Generator;
import com.mybatisflex.codegen.config.GlobalConfig;
import com.zaxxer.hikari.HikariDataSource;
import org.junit.Test;

/**
 * @author 程序員星星
 * @date 2023/7/27
 * @Description
 */
public class Codegen {
    //數(shù)據(jù)庫(kù)名和模塊名(這里數(shù)據(jù)庫(kù)名和模塊名一樣)
    private static final String databaseName = "five_cube_test";
    //主機(jī) ip
    private static final String host = "192.168.157.129";
    //數(shù)據(jù)庫(kù)用戶名
    private static final String username = "root";
    //數(shù)據(jù)庫(kù)密碼
    private static final String password = "root";
    //生成代碼的路徑
    private static final String path = "D:\\myProject\\my\\test_mybatis_flex";
    //表名
    private static final String tableName = "user";
    //作者
    private static final String author = "lzx";
    //父包模塊名
    private static final String moduleName = "mybatisFlex";
    //邏輯刪除字段
    private static final String logicDeleteColumn = "status";
    //樂(lè)觀鎖字段
    private static final String versionColumn = "version";

    @Test
    public void genCode() {
        //配置數(shù)據(jù)源
        HikariDataSource dataSource = new HikariDataSource();
        dataSource.setJdbcUrl("jdbc:mysql://" + host + ":3306/" + databaseName + "?characterEncoding=utf-8");
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        //創(chuàng)建配置內(nèi)容,兩種風(fēng)格都可以。
        GlobalConfig globalConfig = createGlobalConfigUseStyle2();
        //通過(guò) datasource 和 globalConfig 創(chuàng)建代碼生成器
        Generator generator = new Generator(dataSource, globalConfig);
        //生成代碼
        generator.generate();
    }

    public static GlobalConfig createGlobalConfigUseStyle2() {
        //創(chuàng)建配置內(nèi)容
        GlobalConfig globalConfig = new GlobalConfig();
        //設(shè)置根包
        globalConfig.getPackageConfig()
                .setSourceDir(path + "/src/main/java")
                .setBasePackage("com." + author + "." + moduleName)
                .setMapperXmlPath(path + "/src/main/java/com/" + author + "/" + moduleName + "/mapper/xml");
        globalConfig.getJavadocConfig()
                .setAuthor(author);
        //設(shè)置表前綴和只生成哪些表,setGenerateTable 未配置時(shí),生成所有表
        globalConfig.getStrategyConfig()
//                .setTablePrefix("tb_")
                .setLogicDeleteColumn(logicDeleteColumn)
                .setVersionColumn(versionColumn)
                .setGenerateTable(tableName);//生成多個(gè)表的寫(xiě)法"sys_user","sys_dept"
        //設(shè)置生成 entity 并啟用 Lombok
        globalConfig.enableEntity()
                .setWithLombok(true);
        //設(shè)置生成 mapper
        globalConfig.enableMapper();
        //設(shè)置生成 mapper.xml
        globalConfig.enableMapperXml();
        //設(shè)置生成service
        globalConfig.enableService();
        globalConfig.enableServiceImpl();
        //設(shè)置生成controller
        globalConfig.enableController();
        //設(shè)置生成tableDef
        globalConfig.enableTableDef();
        return globalConfig;
    }
}

config配置類(可選)

package com.lzx.mybatisFlex.config;

import com.mybatisflex.core.FlexGlobalConfig;
import com.mybatisflex.core.audit.AuditManager;
import com.mybatisflex.core.audit.ConsoleMessageCollector;
import com.mybatisflex.core.audit.MessageCollector;
import com.mybatisflex.spring.boot.MyBatisFlexCustomizer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Configuration;

/**
 * @author 程序員星星
 * @date 2023/6/8
 * @Description
 */
@Configuration
public class MyBatisFlexConfiguration implements MyBatisFlexCustomizer {
    private static final Logger logger = LoggerFactory.getLogger("mybatis-flex-sql");

    @Override
    public void customize(FlexGlobalConfig flexGlobalConfig) {
        //開(kāi)啟審計(jì)功能
        AuditManager.setAuditEnable(true);
        //設(shè)置 SQL 審計(jì)收集器
        MessageCollector collector = new ConsoleMessageCollector();
        AuditManager.setMessageCollector(collector);
        //設(shè)置 SQL 審計(jì)收集器
        AuditManager.setMessageCollector(auditMessage ->
                logger.info("{},{}ms", auditMessage.getFullSql(), auditMessage.getElapsedTime())
        );
    }
}

到此這篇關(guān)于springboot3.0整合mybatis-flex實(shí)現(xiàn)逆向工程的示例代碼的文章就介紹到這了,更多相關(guān)springboot mybatis-flex逆向工程內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • 如何使用java寫(xiě)Student類的功能

    如何使用java寫(xiě)Student類的功能

    這篇文章主要介紹了如何使用java寫(xiě)Student類的功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • Springboot實(shí)現(xiàn)根據(jù)用戶ID切換動(dòng)態(tài)數(shù)據(jù)源

    Springboot實(shí)現(xiàn)根據(jù)用戶ID切換動(dòng)態(tài)數(shù)據(jù)源

    在很多具體應(yīng)用場(chǎng)景中,我們需要用到動(dòng)態(tài)數(shù)據(jù)源的情況,比如多租戶的場(chǎng)景,系統(tǒng)登錄時(shí)需要根據(jù)用戶信息切換到用戶對(duì)應(yīng)的數(shù)據(jù)庫(kù)。這篇文章主要介紹了SpringBoot根據(jù)用戶ID實(shí)現(xiàn)切換動(dòng)態(tài)數(shù)據(jù)源的示例代碼,感興趣的可以了解一下
    2021-12-12
  • java中vector與hashtable操作實(shí)例分享

    java中vector與hashtable操作實(shí)例分享

    java中vector與hashtable操作實(shí)例,有需要的朋友可以參考一下
    2014-01-01
  • java網(wǎng)上圖書(shū)商城(4)購(gòu)物車模塊1

    java網(wǎng)上圖書(shū)商城(4)購(gòu)物車模塊1

    這篇文章主要為大家詳細(xì)介紹了java網(wǎng)上圖書(shū)商城,購(gòu)物車模塊,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Java中的數(shù)組基礎(chǔ)知識(shí)學(xué)習(xí)教程

    Java中的數(shù)組基礎(chǔ)知識(shí)學(xué)習(xí)教程

    這篇文章主要介紹了Java中的數(shù)組基礎(chǔ)知識(shí)學(xué)習(xí)教程,文中同時(shí)也整理了Java對(duì)數(shù)字類型的支持狀況及Number類中的方法,需要的朋友可以參考下
    2016-02-02
  • 從application.properties配置文件獲取的漢字亂碼的解決方法

    從application.properties配置文件獲取的漢字亂碼的解決方法

    平時(shí)從配置文件各種讀取配置參數(shù)都正常,但是有時(shí)候放了個(gè)中文就亂碼,你肯定試過(guò)網(wǎng)上好多方法,都沒(méi)解決,那么來(lái)看下面,恭喜你終于找這里了,本文給大家介紹了從application.properties配置文件獲取的漢字亂碼的解決方法,需要的朋友可以參考下
    2024-03-03
  • Mybatis返回map集合時(shí),列的順序與select不一致問(wèn)題

    Mybatis返回map集合時(shí),列的順序與select不一致問(wèn)題

    這篇文章主要介紹了Mybatis返回map集合時(shí),列的順序與select不一致問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • springcloud安裝rabbitmq并配置延遲隊(duì)列插件的過(guò)程詳解

    springcloud安裝rabbitmq并配置延遲隊(duì)列插件的過(guò)程詳解

    本期主要講解如何利用docker快速安裝rabbitmq并且配置延遲隊(duì)列插件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • Spring Boot結(jié)成MyBatis-Plus最全配置指南

    Spring Boot結(jié)成MyBatis-Plus最全配置指南

    本文主要介紹了Spring Boot結(jié)成MyBatis-Plus最全配置指南,包括依賴引入、配置數(shù)據(jù)源、Mapper 掃描、基本CRUD操作等,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-03-03
  • 解決Feign異步調(diào)用丟失上下文問(wèn)題

    解決Feign異步調(diào)用丟失上下文問(wèn)題

    在微服務(wù)中使用Feign調(diào)用時(shí),若需要攜帶登錄狀態(tài)的Cookie信息,通常會(huì)使用攔截器,但在異步調(diào)用(如order服務(wù)異步調(diào)用會(huì)員服務(wù)和購(gòu)物車服務(wù))時(shí),攔截器可能無(wú)法獲取上下文信息,導(dǎo)致異常,解決方法是將RequestContextHolder的數(shù)據(jù)同步到新開(kāi)啟的線程中
    2024-11-11

最新評(píng)論

云和县| 泸州市| 蓬安县| 邛崃市| 扶绥县| 娱乐| 中牟县| 思茅市| 元氏县| 永新县| 白城市| 苗栗县| 鹤庆县| 焦作市| 长沙县| 永清县| 辽中县| 永仁县| 青州市| 布尔津县| 鄂伦春自治旗| 临潭县| 山丹县| 乌什县| 敦煌市| 望奎县| 乌鲁木齐市| 云林县| 简阳市| 司法| 嘉黎县| 萝北县| 台北市| 六枝特区| 疏勒县| 淮北市| 同仁县| 晋城| 凭祥市| 阳高县| 高青县|