赞
踩
引用官方文档上的简介:
提供交互式的Web UI用于生成兼容mybatis-plus框架的相关功能代码,包括Entity,Mapper,Mapper.xml,Service,Controller等 ,可以自定义模板以及各类输出参数,也可通过SQL查询语句直接生成代码。
文档
项目结构
$ tree -I target
.
├── pom.xml
└── src
├── main
│ ├── java
│ └── resources
└── test
└── java
└── com
└── example
└── GeneratorMain.java
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>generator-demo</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>com.github.davidfantasy</groupId> <artifactId>mybatis-plus-generator-ui</artifactId> <version>1.4.5</version> <scope>test</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.31</version> </dependency> </dependencies> </project>
GeneratorMain.java
package com.example; import com.github.davidfantasy.mybatisplus.generatorui.GeneratorConfig; import com.github.davidfantasy.mybatisplus.generatorui.MybatisPlusToolsApplication; import com.github.davidfantasy.mybatisplus.generatorui.mbp.NameConverter; /** * 启动类 */ public class GeneratorMain { public static void main(String[] args) { GeneratorConfig config = GeneratorConfig.builder() .driverClassName("com.mysql.cj.jdbc.Driver") .jdbcUrl("jdbc:mysql://127.0.0.1:3306/data") .userName("root") .password("123456") .basePackage("com.example") .nameConverter(new NameConverter() { /** * 自定义Service类文件的名称规则 */ @Override public String serviceNameConvert(String tableName) { return this.entityNameConvert(tableName) + "Service"; } }) .port(8068) .build(); MybatisPlusToolsApplication.run(config); } }
启动UI,打开浏览器地址:http://localhost:8068
用户表tb_user的建表语句
CREATE TABLE `tb_user` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
`name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名',
`age` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '年龄',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户表';
1、选择要生成的数据表
2、选择需要生成的文件和控制器方法
生成的代码文件
$ tree -I target . ├── pom.xml └── src ├── main │ ├── java │ │ └── com │ │ └── example │ │ ├── controller │ │ │ └── UserController.java │ │ ├── entity │ │ │ └── User.java │ │ ├── mapper │ │ │ └── UserMapper.java │ │ └── service │ │ ├── UserService.java │ │ └── impl │ │ └── UserServiceImpl.java │ └── resources │ └── mapper │ └── UserMapper.xml └── test └── java └── com └── example └── GeneratorMain.java
以下是生成的实体类
package com.example.entity; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import java.io.Serializable; /** * <p> * 用户表 * </p> * * @author mouday * @since 2023-05-25 */ @TableName("tb_user") public class User implements Serializable { private static final long serialVersionUID = 1L; /** * 主键id */ @TableId(value = "id", type = IdType.AUTO) private Integer id; /** * 用户名 */ private String name; /** * 年龄 */ private Integer age; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "User{" + ", id=" + id + ", name=" + name + ", age=" + age + "}"; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。