首页 > 其他分享 >MybatisPlus------代码生成器

MybatisPlus------代码生成器

时间:2023-02-18 23:12:12浏览次数:36  
标签:代码生成 MybatisPlus generator strategyConfig 设置 ------ mybatisplus globalConfig com

快速开发:

代码生成器:

(1)模版:MyBatisPlus提供

(2)数据库相关配置:读取数据库获取信息

(3)开发者自定义配置:手工配置

package com.ithema;

import com.baomidou.mybatisplus.annotation.IdType;
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;

public class CodeGenerator {
    public static void main(String[] args) {
        //1、获取代码生成器对象
        AutoGenerator autoGenerator = new AutoGenerator();

        //设置数据库相关配置
        DataSourceConfig datasource = new DataSourceConfig();
        datasource.setDriverName("com.mysql.cj.jdbc.Driver");
        datasource.setUrl("jdbc:mysql://localhost:3306/mybatisplus_db?serverTimezone=UTC");
        datasource.setUsername("root");
        datasource.setPassword("130740");
        autoGenerator.setDataSource(datasource);

        //设置全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setOutputDir(System.getProperty("user.dir")+"/springboot/mybatisplus_04_generator/src/main/java");  //设置生成位置
        globalConfig.setOpen(false);   //设置生成完毕后是否打开生成代码所在的目录
        globalConfig.setAuthor("zm程序员");    //设置作者
        globalConfig.setFileOverride(true);   //设置是否覆盖原始生成文件
        globalConfig.setMapperName("%sDao");  //设置数据层接口名,%s为占位符,指代模块名称
        globalConfig.setIdType(IdType.ASSIGN_ID);   //设置id生成方式
        autoGenerator.setGlobalConfig(globalConfig);

        //设置包名相关配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("com.aaa");  //设置生成的包名,与代码所在位置不冲突,二者叠加组成完整路径
        packageConfig.setEntity("domain");     //设置实体类包名
        packageConfig.setMapper("dao");        //设置数据层包名
        autoGenerator.setPackageInfo(packageConfig);

//        //策略设置
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setInclude("tbl_user");  //设置当前参与生成的表名,参数为可变参数
        strategyConfig.setTablePrefix("tbl_");  //设置数据库表的前缀名称,模块名=数据库表名-前缀名 例如:User = tbl_user - tbl
        strategyConfig.setRestControllerStyle(true);  //设置是否启用rest风格
        strategyConfig.setVersionFieldName("version");   //设置乐观锁字段名
        strategyConfig.setLogicDeleteFieldName("deleted");  //设置逻辑删除字段
        strategyConfig.setEntityLombokModel(true);        //设置是否启用lombok
        autoGenerator.setStrategy(strategyConfig);

        
        //2、执行生成操作
        autoGenerator.execute();
    }
}

 

标签:代码生成,MybatisPlus,generator,strategyConfig,设置,------,mybatisplus,globalConfig,com
From: https://www.cnblogs.com/fxzm/p/17133912.html

相关文章

  • Spring IOC官方文档学习笔记(十一)之使用JSR 330标准注解
    1.使用@Inject和@Named进行依赖注入(1)Spring提供了对JSR330标准注解的支持,因此我们也可以使用JSR330标准注解来进行依赖注入,不过,在此之前,我们得先使用maven添加相关依......
  • 【第一个随笔来啦~】Tuffy的复习笔记 —— 数字电路 —— 数据存储
    最近一直在为数字电路复习,发现数据存储这部分的知识点对于数字电路相关课程的初学者来说实在过于复杂不怎么好理解,所以希望通过这个blog为初学者解决这样的问题。注:本blog......
  • 【IMX6ULL学习笔记】十八、Platform 驱动框架
    一、platform驱动Linux提出了platform这个虚拟总线,相应的就有platform_driver和platform_device。platform驱动使用platform_driver结构体表示,此结构体定义在......
  • 测试
    <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEdata[<!ELEMENTstockCheckANY>//声明元素类别为ANY说明接受任何元素<!ENTITYxxeSYSTEM"file:///etc/passw......
  • 【IMX6ULL学习笔记】十七、总线驱动框架-Platform、IIC、SPI等
    一、总线Linux总线驱动模型主要可以分为三个部分:总线、设备、驱动。Linux中的总线(bus)、驱动(driver)和设备(device)模型,也就是常说的驱动分离。Linux内核在启动时会向......
  • S2 - Lesson 35 - Stop thief
    Wordswhileashortwhileagoforawhile straightdrivestraightatthethieves. regretregrettedithehasnotregrettedit. frightfrighten far......
  • 华纳兄弟再次入手域名 comhn.com
    comhn.com这个极具符号化意义的域名原来是被华纳兄弟买下了。当地时间2月15日,DomainInvesting网站报道称,华纳兄弟背后的开发公司或早在2021年就斥资1100万美元,收购了域......
  • 购物车案例&v-model进阶&与后端交互&vue生命周期&vue组件
    目录购物车案例&v-model进阶&与后端交互&vue生命周期&vue组件今日内容概要今日内容详细1购物车案例1.1基本购物车1.2带全选全不选1.3带加减2v-model进阶3与后端交互3......
  • 测试3
    2023年2月6日聊一聊js中元素定位的方法摘要:在做seleniumweb自动化的时候,有时通过selenium定位不到,或无法操作元素,这个时候就需要通过js来定位/操作元素,然后通过sele......
  • 2. 两数相加
    给你两个 非空的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和......