mybaits-plus-generator自动生成实体类

news/2024/7/4 15:11:28 标签: java

导入所需依赖:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--themleaf-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <!--数据库驱动-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <!--测试-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
    </dependency>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
    <!--持久层框架-->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.3</version>
    </dependency>
    <!--mybatis-plus 代码生成模版引擎所需依赖,不写会报错-->
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-engine-core</artifactId>
        <version>2.3</version>
    </dependency>
    <!--swagger依赖-->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.7.0</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.7.0</version>
    </dependency>
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-generator</artifactId>
        <version>3.4.0</version>
    </dependency>
    package com.xxxx.seckill;

代码如下:

import com.baomidou.mybatisplus.annotation.DbType;
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;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.jupiter.api.Test;

public class CodeGenerator {
@Test
public void run() {

    // 1、创建代码生成器
    AutoGenerator mpg = new AutoGenerator();
    ///Users/pengqiulei/Downloads/IDEA项目聚集地/generator
    // 2、全局配置
    GlobalConfig gc = new GlobalConfig();
    gc.setOutputDir("/Users/pengqiulei/Downloads/IDEA项目聚集地/project" + "/src/main/java");
    gc.setAuthor("pengqiulei");
    gc.setOpen(false); //生成后是否打开资源管理器
    gc.setFileOverride(false); //重新生成时文件是否覆盖
    gc.setServiceName("%sService");    //去掉Service接口的首字母I
    gc.setIdType(IdType.ID_WORKER_STR); //主键策略
    gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
    gc.setSwagger2(true);//开启Swagger2模式

    mpg.setGlobalConfig(gc);

    // 3、数据源配置
    DataSourceConfig dsc = new DataSourceConfig();
    dsc.setUrl("jdbc:mysql://localhost:3306/seckill?serverTimezone=Asia/Shanghai");
    dsc.setDriverName("com.mysql.cj.jdbc.Driver");
    dsc.setUsername("root");
    dsc.setPassword("xxxxxxx");
    dsc.setDbType(DbType.MYSQL);
    mpg.setDataSource(dsc);

    // 4、包配置
    PackageConfig pc = new PackageConfig();
    pc.setModuleName("seckill"); //生成代码在哪里的模块名  com.example.generator下生成代码
    pc.setParent("com.xxxx");
    pc.setController("controller");
    pc.setEntity("entity");
    pc.setService("service");
    pc.setMapper("mapper");
    mpg.setPackageInfo(pc);

    // 5、策略配置
    StrategyConfig strategy = new StrategyConfig();
    strategy.setInclude("t_user");//生成的表多表用,分隔
    strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
    strategy.setTablePrefix("t_"); //生成实体时去掉表前缀

    strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
    strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作

    strategy.setRestControllerStyle(true); //restful api风格控制器
    strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符

    mpg.setStrategy(strategy);

    // 6、执行
    mpg.execute();}}

https://blog.csdn.net/qq_41659703/article/details/115344672用作做参考修改


http://www.niftyadmin.cn/n/927221.html

相关文章

docker配置seata分布式事务并注册至nacos

Docker配置分布式事务Seata并注册到Nacos服务中心 Docker常用基础命令 docker ps&#xff1b;查询当前服务器的服务 docker images&#xff1b;查看服务下载的镜像 docker ps -a&#xff1b;查看所有的服务&#xff0c;包含未开启的服务 docker rm 服务ID&#xff1b;在做删除…

TOMCAT+APACHE整合

<script type"text/javascript"> function StorePage() { ddocument; td.selection?(d.selection.type!None?d.selection.createRange().text:):(d.getSelection?d.getSelection():); void(keyitwindow.open(http://www.365key.com/storeit.aspx?tescape(d…

并购之后 新联想面临的四十个难题(转发)--内部管理:大文化与小文化 为谁经营

<script type"text/javascript"> function StorePage() { ddocument; td.selection?(d.selection.type!None?d.selection.createRange().text:):(d.getSelection?d.getSelection():); void(keyitwindow.open(http://www.365key.com/storeit.aspx?tescape(d…

linux 文件锁flock与fcntl 理解建议锁与强制锁区别

​专栏内容&#xff1a; postgresql内核源码分析 手写数据库toadb 并发编程 个人主页&#xff1a;我的主页 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 文件锁 概述 前面博客介绍了多任务下互斥的方法&#xff0c;如…

职场好人缘的26个细节

来自 http://blog.csdn.net/iyu1.长相不令人讨厌&#xff0c;如果长得不好&#xff0c;就让自己有才气&#xff1b;如果才气也没有&#xff0c;那就总是微笑。 2.气质是关键。如果时尚学不好&#xff0c;宁愿纯朴。 3.与人握手时&#xff0c;可多握一会儿。真诚是宝。 4.不必什…

关于三态的TreeView的一些想法

<script type"text/javascript"> function StorePage() { ddocument; td.selection?(d.selection.type!None?d.selection.createRange().text:):(d.getSelection?d.getSelection():); void(keyitwindow.open(http://www.365key.com/storeit.aspx?tescape(d…

在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分

///*标题&#xff1a;在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分当看到.NET中TcpListener和TcpClient的时候,我非常高兴,那就是我想要的通讯模式但是使用之后发现它们的力量太单薄了,我们需要一个更好的类库来替代它们.下面提供了一些类,可以…

用Visual C#打造个性化的IE浏览器IE

是现在Windows平台下用的最多的浏览器&#xff0c;但微软提供的IE是那么朴实&#xff0c;以至于毫无特色&#xff0c;那么如何用程序来修改IE,打造有自己的特色的IE呢&#xff1f;我经过思索&#xff0c;通过注册表找到了修改IE的方法&#xff0c;下面我向大家介绍一下这种方法…