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

MybatisPlus代碼生成器使用示例

 更新時(shí)間:2024年06月12日 10:00:01   作者:康提扭狗兔  
MyBatis-Plus自動(dòng)化的生成與數(shù)據(jù)庫(kù)表對(duì)應(yīng)的Java代碼文件,本文主要介紹了MybatisPlus代碼生成器使用示例,具有一定的參考價(jià)值,感興趣的可以了解一下

前言 

MyBatis-Plus 的代碼生成器主要是基于 MyBatis-Plus 的元數(shù)據(jù)分析功能,通過讀取數(shù)據(jù)庫(kù)中的表結(jié)構(gòu)信息,生成對(duì)應(yīng)的 Entity、Mapper、Service、Controller 等代碼文件。

元數(shù)據(jù)分析: 代碼生成器首先連接到數(shù)據(jù)庫(kù),讀取數(shù)據(jù)庫(kù)中的表結(jié)構(gòu)信息,包括表名、字段名、字段類型、注釋等元數(shù)據(jù)信息。

模板引擎: 代碼生成器使用模板引擎來生成代碼文件。模板文件定義了生成文件的結(jié)構(gòu)和內(nèi)容,其中可以包含一些占位符,用于動(dòng)態(tài)替換成實(shí)際的數(shù)據(jù),如表名、字段名等。

代碼生成: 根據(jù)元數(shù)據(jù)信息和模板文件,代碼生成器生成對(duì)應(yīng)的 Java 代碼文件。生成的文件包括 Entity 類(對(duì)應(yīng)數(shù)據(jù)庫(kù)表的字段)、Mapper 接口(提供數(shù)據(jù)庫(kù)操作方法)、Service 類(封裝業(yè)務(wù)邏輯)、Controller 類(處理 HTTP 請(qǐng)求)等。

自定義配置: 代碼生成器提供了豐富的配置選項(xiàng),可以根據(jù)用戶的需求進(jìn)行靈活配置。用戶可以指定生成的包名、輸出路徑、命名規(guī)則等,以滿足不同項(xiàng)目的需求。

執(zhí)行生成: 用戶運(yùn)行代碼生成器的程序,代碼生成器根據(jù)配置信息讀取數(shù)據(jù)庫(kù)表結(jié)構(gòu),并根據(jù)模板文件生成對(duì)應(yīng)的代碼文件,最終輸出到指定的路徑中。

總的來說,MyBatis-Plus 的代碼生成器利用數(shù)據(jù)庫(kù)的元數(shù)據(jù)信息和模板文件,自動(dòng)化地生成與數(shù)據(jù)庫(kù)表對(duì)應(yīng)的 Java 代碼文件,極大地提高了開發(fā)效率,減少了重復(fù)勞動(dòng)。

針對(duì)數(shù)據(jù)庫(kù)中的實(shí)體類表,自動(dòng)生成相關(guān)的pojo類,mapper,service等

1. Get-Started

基于mybatisplus,idea下載mybatisplus插件

在這里插入圖片描述

sql文件

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

DROP TABLE IF EXISTS `learning_lesson`;
CREATE TABLE IF NOT EXISTS `learning_lesson` (
  `id` bigint NOT NULL COMMENT '主鍵',
  `user_id` bigint NOT NULL COMMENT '學(xué)員id',
  `course_id` bigint NOT NULL COMMENT '課程id',
  `status` tinyint DEFAULT '0' COMMENT '課程狀態(tài),0-未學(xué)習(xí),1-學(xué)習(xí)中,2-已學(xué)完,3-已失效',
  `week_freq` tinyint DEFAULT NULL COMMENT '每周學(xué)習(xí)頻率,例如每周學(xué)習(xí)6小節(jié),則頻率為6',
  `plan_status` tinyint NOT NULL DEFAULT '0' COMMENT '學(xué)習(xí)計(jì)劃狀態(tài),0-沒有計(jì)劃,1-計(jì)劃進(jìn)行中',
  `learned_sections` int NOT NULL DEFAULT '0' COMMENT '已學(xué)習(xí)小節(jié)數(shù)量',
  `latest_section_id` bigint DEFAULT NULL COMMENT '最近一次學(xué)習(xí)的小節(jié)id',
  `latest_learn_time` datetime DEFAULT NULL COMMENT '最近一次學(xué)習(xí)的時(shí)間',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
  `expire_time` datetime DEFAULT NULL COMMENT '過期時(shí)間',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `idx_user_id` (`user_id`,`course_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='學(xué)生課程表';

-- 正在導(dǎo)出表  tj_learning.learning_lesson 的數(shù)據(jù):~4 rows (大約)
DELETE FROM `learning_lesson`;
INSERT INTO `learning_lesson` (`id`, `user_id`, `course_id`, `status`, `week_freq`, `plan_status`, `learned_sections`, `latest_section_id`, `latest_learn_time`, `create_time`, `expire_time`, `update_time`) VALUES
	(1, 2, 2, 2, 6, 1, 12, 16, '2023-04-11 22:34:45', '2022-08-05 20:02:50', '2023-08-05 20:02:29', '2023-04-19 10:29:29'),
	(2, 2, 3, 1, 4, 1, 3, 31, '2023-04-19 11:42:50', '2022-08-06 15:16:48', '2023-08-06 15:16:37', '2023-04-19 11:42:50'),
	(1585170299127607297, 129, 2, 0, NULL, 0, 0, 16, '2023-04-11 22:37:05', '2022-12-05 23:00:29', '2023-10-26 15:14:54', '2023-04-11 22:37:05'),
	(1601061367207464961, 2, 1549025085494521857, 1, 3, 1, 4, 1550383240983875589, '2023-04-11 16:34:44', '2022-12-09 11:49:11', '2023-12-09 11:49:11', '2023-04-11 16:34:43');

/*!40103 SET TIME_ZONE=IFNULL(@OLD_TIME_ZONE, 'system') */;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */;

代碼生成前的目錄結(jié)構(gòu)

在這里插入圖片描述

2. 代碼生成步驟

2.1 連接數(shù)據(jù)庫(kù)

在這里插入圖片描述

2.2 配置代碼生成器

在這里插入圖片描述

在這里插入圖片描述

點(diǎn)擊 code generator

2.3 生成的代碼

在這里插入圖片描述

替換id生成方式,改為雪花算法

在這里插入圖片描述

2.4 單元測(cè)試

在這里插入圖片描述

在這里插入圖片描述

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

相關(guān)文章

  • Java中的HashMap弱引用之WeakHashMap詳解

    Java中的HashMap弱引用之WeakHashMap詳解

    這篇文章主要介紹了Java中的HashMap弱引用之WeakHashMap詳解,當(dāng)內(nèi)存空間不足,Java虛擬機(jī)寧愿拋出OutOfMemoryError錯(cuò)誤,使程序異常終止,也不會(huì)靠隨意回收具有強(qiáng)引用的對(duì)象來解決內(nèi)存不足的問題,需要的朋友可以參考下
    2023-09-09
  • Java線程之間數(shù)據(jù)傳遞的實(shí)現(xiàn)示例(4種)

    Java線程之間數(shù)據(jù)傳遞的實(shí)現(xiàn)示例(4種)

    我們經(jīng)常會(huì)遇到父子線程數(shù)據(jù)傳遞(非調(diào)用參數(shù))的場(chǎng)景,本文主要介紹了Java線程之間數(shù)據(jù)傳遞的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • 實(shí)例講解Java的設(shè)計(jì)模式編程中責(zé)任鏈模式的運(yùn)用

    實(shí)例講解Java的設(shè)計(jì)模式編程中責(zé)任鏈模式的運(yùn)用

    這篇文章主要介紹了Java的設(shè)計(jì)模式編程中責(zé)任鏈模式的運(yùn)用,講解了通過條件判斷結(jié)構(gòu)來分配不同對(duì)象的責(zé)任權(quán)限,需要的朋友可以參考下
    2016-02-02
  • 初學(xué)者,Spring快速入門

    初學(xué)者,Spring快速入門

    本文主要講解了Spring框架的基礎(chǔ)知識(shí),Spring是一個(gè)輕量級(jí)的開源框架,它是為簡(jiǎn)化企業(yè)級(jí)應(yīng)用開發(fā)而生。文中運(yùn)用代碼非常詳細(xì)的介紹了相關(guān)知識(shí),需要了解的小伙伴可以參考一下哦
    2021-09-09
  • Java中數(shù)據(jù)庫(kù)加密的方式分享

    Java中數(shù)據(jù)庫(kù)加密的方式分享

    在現(xiàn)今互聯(lián)網(wǎng)時(shí)代,數(shù)據(jù)安全已經(jīng)成為了我們必須要面對(duì)的重要課題,在本文中,我們將會(huì)介紹Java中常用的幾種數(shù)據(jù)庫(kù)加密方式并分析一下它們的優(yōu)缺點(diǎn),希望對(duì)大家有所幫助
    2023-05-05
  • SpringSessionRedis配置及發(fā)現(xiàn)的問題講解

    SpringSessionRedis配置及發(fā)現(xiàn)的問題講解

    今天小編就為大家分享一篇關(guān)于SpringSessionRedis配置及發(fā)現(xiàn)的問題講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Java Http請(qǐng)求傳json數(shù)據(jù)亂碼問題的解決

    Java Http請(qǐng)求傳json數(shù)據(jù)亂碼問題的解決

    這篇文章主要介紹了Java Http請(qǐng)求傳json數(shù)據(jù)亂碼問題的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Java讀取制表符文本轉(zhuǎn)換為JSON實(shí)現(xiàn)實(shí)例

    Java讀取制表符文本轉(zhuǎn)換為JSON實(shí)現(xiàn)實(shí)例

    在Java開發(fā)中,處理各種數(shù)據(jù)格式是常見的任務(wù),本文將介紹如何使用Java讀取制表符文本文件,并將其轉(zhuǎn)換為JSON格式,以便于后續(xù)的數(shù)據(jù)處理和分析,我們將使用Java中的相關(guān)庫(kù)來實(shí)現(xiàn)這個(gè)過程,并提供詳細(xì)的代碼示例
    2024-01-01
  • TC?集群Seata1.6高可用架構(gòu)源碼解析

    TC?集群Seata1.6高可用架構(gòu)源碼解析

    這篇文章主要為大家介紹了TC?集群Seata1.6高可用架構(gòu)源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • Java mybatis-plus詳解

    Java mybatis-plus詳解

    MyBatis-Plus是一個(gè)MyBatis的增強(qiáng)工具,在MyBatis的基礎(chǔ)上只做增強(qiáng)不做修改,為簡(jiǎn)化開發(fā)、提高效率而生,本文給大家詳細(xì)講解一下MyBatis-Plus,需要的朋友參考下吧
    2021-09-09

最新評(píng)論

东台市| 无极县| 奈曼旗| 张家港市| 视频| 治多县| 武山县| 栾城县| 东宁县| 夏津县| 鄄城县| 淄博市| 寿宁县| 密山市| 彰化县| 乌拉特前旗| 满城县| 莎车县| 灌阳县| 台南市| 屏东县| 左贡县| 沂源县| 宁城县| 石林| 类乌齐县| 佛坪县| 南岸区| 通许县| 永泰县| 巴林左旗| 台湾省| 巫溪县| 马鞍山市| 泾川县| 成武县| 桑日县| 普兰店市| 隆德县| 泗阳县| 澄迈县|