mybatis-plus-ui代码生成器

超好用的代码生成器
博客链接:
mybatis-plus-ui代码生成器

使用场景:当我们新写一个系统,或设计大量数据库表后,可以使用mybatis-plus-ui快速生成需要的实体类等,节省开发时间。以下通过几个简单的表做案例

引入pom文件

        <dependency>
            <groupId>com.github.davidfantasy</groupId>
            <artifactId>mybatis-plus-generator-ui</artifactId>
            <version>2.0.0</version>
            <scope>compile</scope>
        </dependency>

建表sql

CREATE TABLE hall (
  id BIGINT PRIMARY KEY COMMENT '大厅ID',
  hall_name VARCHAR(50) COMMENT '大厅名称',
  hall_type tinyint(2) default 0 comment '大厅类型;1-王者;2-lol;3-狼人杀;4-唱歌;5-和平',
  key (hall_name),
   key (hall_type)
);

CREATE TABLE user (
  id BIGINT PRIMARY KEY COMMENT '用户ID',
  u_id BIGINT not null COMMENT '用户UID',
  username VARCHAR(50) COMMENT '用户名称',
  level_id int(10) default 0 COMMENT '用户等级id',
  unique key(u_id),
  key(username)
);

CREATE TABLE gift (
  id BIGINT PRIMARY KEY COMMENT '礼物ID',
  gift_name VARCHAR(50) COMMENT '礼物名称',
  gift_info VARCHAR(200) COMMENT '礼物信息',
  price DECIMAL(18,2) default 0 COMMENT '礼物价格',
  gift_type tinyint(2) default 0 COMMENT '礼物类型,1-钻石;2-紫晶',
  up tinyint(2) default 0 COMMENT '是否上架,0-下架;1-上架',
  key(gift_name),
  key(price),
  key(gift_type)
);

CREATE TABLE box_gift_config (
  id BIGINT PRIMARY KEY COMMENT '开箱配置ID',
  box_name VARCHAR(50) COMMENT '箱子名称',
  box_type tinyint(2) default 0 COMMENT '箱子类型,1-钻石;2-紫晶',
  box_price DECIMAL(18,2) default 0 COMMENT '箱子价格',
  box_up tinyint(2) default 0 COMMENT '是否上架,0-下架;1-上架'
);

CREATE TABLE box_gift_list (
  box_id BIGINT,
  gift_id BIGINT,
  PRIMARY KEY (box_id,gift_id)
);

CREATE TABLE pool_gift_config (
  id BIGINT PRIMARY KEY COMMENT '奖池ID',
  pool_name VARCHAR(50) COMMENT '奖池名称',
  pool_level tinyint(2) default 0 COMMENT '奖池级别',
  pool_price DECIMAL(18,2) default 0 COMMENT '奖池价格',
  box_up tinyint(2) default 0 COMMENT '是否上架,0-下架;1-上架'
);

CREATE TABLE pool_gift_list (
  pool_id BIGINT,
  gift_id BIGINT,
  PRIMARY KEY (pool_id,gift_id)
);

生成代码类

package com.test.game.config;

import com.github.davidfantasy.mybatisplus.generatorui.GeneratorConfig;
import com.github.davidfantasy.mybatisplus.generatorui.MybatisPlusToolsApplication;
import com.github.davidfantasy.mybatisplus.generatorui.mbp.NameConverter;

public class AutoCreateCode {
    public static void main(String[] args) {
        GeneratorConfig config = GeneratorConfig.builder().jdbcUrl("jdbc:mysql://localhost:3306/game_play?serverTimezone=Asia/Shanghai&characterEncoding=utf-8")
                .userName("root").password("root").driverClassName("com.mysql.cj.jdbc.Driver")
                // 数据库schema,POSTGRE_SQL,ORACLE,DB2类型的数据库需要指定
                // .schemaName("myBusiness")
                // 如果需要修改各类生成文件的默认命名规则,可自定义一个NameConverter实例,覆盖相应的名称转换方法:
                .nameConverter(new NameConverter() {
                    /**
                     * 自定义Service类文件的名称规则
                     */
                    public String serviceNameConvert(String tableName) {
                        return this.entityNameConvert(tableName) + "Service";
                    }

                    /**
                     * 自定义Controller类文件的名称规则
                     */
                    public String controllerNameConvert(String tableName) {
                        return this.entityNameConvert(tableName) + "Controller";
                    }
                }).basePackage("com.test.game").port(8068).build();

        MybatisPlusToolsApplication.run(config);
    }
}


运行后输入http://localhost:8068/进入页面,AutoCreateCode类中的port端口写多少,页面端口就是多少
在这里插入图片描述

选择输出配置
在这里插入图片描述
配置实体类的策略
在这里插入图片描述

生成策略配置
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/83bdcf0fd46e43e9b1be055e153188ba.png

配置好测类后保存,然后回到表格页面
在这里插入图片描述
选择需要生成的表格后点击**“代码生成按钮”**
填写需要的配置后点击开始生成
在这里插入图片描述
即可看到生成的类
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐