【mybatis-plus-ui】代码生成器
MyBatis-Plus-UI 是一款高效的代码生成器,适用于新系统开发或数据库表设计后快速生成实体类等代码,显著提升开发效率。通过引入 mybatis-plus-generator-ui 依赖,配置数据库连接信息,并运行生成器类,用户可以在指定端口访问生成器界面。在界面中,用户可以选择表、配置生成策略,并生成代码。该工具支持自定义类名规则,生成内容包括实体类、Service、Controller
·
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端口写多少,页面端口就是多少
选择输出配置
配置实体类的策略
生成策略配置
配置好测类后保存,然后回到表格页面
选择需要生成的表格后点击**“代码生成按钮”**
填写需要的配置后点击开始生成
即可看到生成的类
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)