Java:mybatis-plus-generator-ui 基于Mybatis-Plus的代码自助生成器

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Java:mybatis-plus-generator-ui 基于Mybatis-Plus的代码自助生成器

引用官方文档上的简介:


提供交互式的Web UI用于生成兼容mybatis-plus框架的相关功能代码,包括Entity,Mapper,Mapper.xml,Service,Controller等 ,可以自定义模板以及各类输出参数,也可通过SQL查询语句直接生成代码。


文档


github: https://github.com/davidfantasy/mybatis-plus-generator-ui

gitee: https://gitee.com/davidfantasy/mybatis-plus-generator-ui

1、将mybatis-plus-generator-ui 引入项目

项目结构


$ 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


2、通过UI界面操作代码生成

用户表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、选择要生成的数据表


b6fcaaed3f8b217ee1a68e57c81c109c_076d9de6e09148ce8b2f90184d44143e.png

2、选择需要生成的文件和控制器方法

13de08a428e4eedf883ff6db3ea17a8c_41007eab6ab94cb697eed5786ac80207.png



生成的代码文件


$ 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 +

       "}";

   }

}


参考

MyBatis-Plus 可视化代码生成器来啦,让你的开发效率大大提速!!

————————————————

版权声明:本文为CSDN博主「彭世瑜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/mouday/article/details/130861509

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5天前
|
SQL druid Java
java mysql druid mybatis-plus里使用多表删除出错的一种处理方式
java mysql druid mybatis-plus里使用多表删除出错的一种处理方式
11 0
|
5天前
|
Java 程序员 图形学
程序员教你用代码制作飞翔的小鸟--Java小游戏,正好拿去和给女神一起玩
《飞扬的小鸟》Java实现摘要:使用IntelliJ IDEA和JDK 16开发,包含小鸟类`Bird`,处理小鸟的位置、速度和碰撞检测。代码示例展示小鸟图像的加载、绘制与旋转。同时有`Music`类用于循环播放背景音乐。游戏运行时检查小鸟是否撞到地面、柱子或星星,并实现翅膀煽动效果。简单易懂,可直接复制使用。
|
2天前
|
Java 测试技术
如何提高Java代码的可读性
Java是一种常用的编程语言,但是写出易懂且可读性高的代码却是一项挑战。本文将分享一些技巧和建议,帮助您提高Java代码的可读性和可维护性。
|
5天前
|
Java Kotlin
java调用kotlin代码编译报错“找不到符号”的问题
java调用kotlin代码编译报错“找不到符号”的问题
17 10
|
5天前
|
XML Java 数据库连接
Java一分钟之MyBatis:持久层框架基础
【5月更文挑战第15天】MyBatis是Java的轻量级持久层框架,它分离SQL和Java代码,提供灵活的数据库操作。常见问题包括:XML配置文件未加载、忘记关闭SqlSession、接口方法与XML映射不一致、占位符使用错误、未配置ResultMap和事务管理不当。解决这些问题的关键在于正确配置映射文件、管理SqlSession、避免SQL注入、定义ResultMap以及确保事务边界。遵循最佳实践可优化MyBatis使用体验。
15 2
Java一分钟之MyBatis:持久层框架基础
|
5天前
|
前端开发 Java Spring
Java Web ——MVC基础框架讲解及代码演示(下)
Java Web ——MVC基础框架讲解及代码演示
13 1
|
5天前
|
设计模式 前端开发 网络协议
Java Web ——MVC基础框架讲解及代码演示(上)
Java Web ——MVC基础框架讲解及代码演示
8 0
|
5天前
|
Java
Java的取余如何编写代码
【5月更文挑战第9天】Java的取余如何编写代码
22 5
|
5天前
|
SQL Java
【JAVA进阶篇教学】第九篇:MyBatis-Plus用法介绍
【JAVA进阶篇教学】第九篇:MyBatis-Plus用法介绍
|
5天前
|
Java
代码实例演示Java字符串与输入流互转
代码实例演示Java字符串与输入流互转