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

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

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

什么是mybatis逆向工程?

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

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

由數(shù)據(jù)庫的表生成代碼,之所以強調“單表”兩個字,是因為mybatis逆向工程生成的Mapper接口所進行的操作都是針對單表的。

引入基本依賴

<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:
  # 啟動時檢查是否存在 MyBatis XML 文件,默認不檢查
  check-config-location: false
  # 是否控制臺打印 MyBatis-Flex 的 LOGO 及版本號
  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ù)庫名和模塊名(這里數(shù)據(jù)庫名和模塊名一樣)
    private static final String databaseName = "five_cube_test";
    //主機 ip
    private static final String host = "192.168.157.129";
    //數(shù)據(jù)庫用戶名
    private static final String username = "root";
    //數(shù)據(jù)庫密碼
    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";
    //樂觀鎖字段
    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)建配置內容,兩種風格都可以。
        GlobalConfig globalConfig = createGlobalConfigUseStyle2();
        //通過 datasource 和 globalConfig 創(chuàng)建代碼生成器
        Generator generator = new Generator(dataSource, globalConfig);
        //生成代碼
        generator.generate();
    }

    public static GlobalConfig createGlobalConfigUseStyle2() {
        //創(chuàng)建配置內容
        GlobalConfig globalConfig = new GlobalConfig();
        //設置根包
        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);
        //設置表前綴和只生成哪些表,setGenerateTable 未配置時,生成所有表
        globalConfig.getStrategyConfig()
//                .setTablePrefix("tb_")
                .setLogicDeleteColumn(logicDeleteColumn)
                .setVersionColumn(versionColumn)
                .setGenerateTable(tableName);//生成多個表的寫法"sys_user","sys_dept"
        //設置生成 entity 并啟用 Lombok
        globalConfig.enableEntity()
                .setWithLombok(true);
        //設置生成 mapper
        globalConfig.enableMapper();
        //設置生成 mapper.xml
        globalConfig.enableMapperXml();
        //設置生成service
        globalConfig.enableService();
        globalConfig.enableServiceImpl();
        //設置生成controller
        globalConfig.enableController();
        //設置生成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) {
        //開啟審計功能
        AuditManager.setAuditEnable(true);
        //設置 SQL 審計收集器
        MessageCollector collector = new ConsoleMessageCollector();
        AuditManager.setMessageCollector(collector);
        //設置 SQL 審計收集器
        AuditManager.setMessageCollector(auditMessage ->
                logger.info("{},{}ms", auditMessage.getFullSql(), auditMessage.getElapsedTime())
        );
    }
}

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

相關文章

  • 詳談java 堆區(qū)、方法區(qū)和棧區(qū)

    詳談java 堆區(qū)、方法區(qū)和棧區(qū)

    下面小編就為大家?guī)硪黄斦刯ava 堆區(qū)、方法區(qū)和棧區(qū)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Mybatis通過Spring完成代理類注入的流程分析

    Mybatis通過Spring完成代理類注入的流程分析

    這篇文章主要介紹了Mybatis通過Spring完成代理類注入的流程分析,本文通過實例圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • java 讀取網(wǎng)頁內容的實例詳解

    java 讀取網(wǎng)頁內容的實例詳解

    這篇文章主要介紹了java 讀取網(wǎng)頁內容的實例詳解的相關資料,希望通過本文能幫助到大家,讓大家學習理解這部分內容,需要的朋友可以參考下
    2017-09-09
  • springmvc Rest風格介紹及實現(xiàn)代碼示例

    springmvc Rest風格介紹及實現(xiàn)代碼示例

    這篇文章主要介紹了springmvc Rest風格介紹及實現(xiàn)代碼示例,rest風格簡潔,分享了HiddenHttpMethodFilter 的源碼,通過Spring4.0實現(xiàn)rest風格源碼及簡單錯誤分析,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • SpringBoot啟動自動終止也不報錯的原因及解決

    SpringBoot啟動自動終止也不報錯的原因及解決

    這篇文章主要介紹了SpringBoot啟動自動終止也不報錯的原因及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java設計模式之狀態(tài)模式State Pattern詳解

    Java設計模式之狀態(tài)模式State Pattern詳解

    這篇文章主要介紹了Java設計模式之狀態(tài)模式State Pattern,狀態(tài)模式允許一個對象在其內部狀態(tài)改變的時候改變其行為。這個對象看上去就像是改變了它的類一樣
    2022-11-11
  • Java面試之SQL語句題經(jīng)典案例

    Java面試之SQL語句題經(jīng)典案例

    本文詳細討論了如何將行數(shù)據(jù)轉化為列數(shù)據(jù),并提供了多種SQL查詢練習題,包括查詢特定條件的學生信息、課程成績比較、學生成績排名等,文章還解釋了在SQL中使用Union、UnionAll和pivot的方法,以及如何處理復雜的SQL查詢問題,需要的朋友可以參考下
    2024-10-10
  • SpringBoot中驗證用戶上傳的圖片資源的方法

    SpringBoot中驗證用戶上傳的圖片資源的方法

    這篇文章主要介紹了在SpringBoot中驗證用戶上傳的圖片資源,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • JavaWeb項目實現(xiàn)文件上傳動態(tài)顯示進度實例

    JavaWeb項目實現(xiàn)文件上傳動態(tài)顯示進度實例

    本篇文章主要介紹了JavaWeb項目實現(xiàn)文件上傳動態(tài)顯示進度實例,具有一定的參考價值,有興趣的可以了解一下。
    2017-04-04
  • Java進行反編譯生成.java文件方式(javap、jad下載安裝使用)

    Java進行反編譯生成.java文件方式(javap、jad下載安裝使用)

    這篇文章主要介紹了Java進行反編譯生成.java文件方式(javap、jad下載安裝使用),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評論