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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 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

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
JavaScript NoSQL Java
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
152 96
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
|
1月前
|
安全 Java 数据库连接
Java使用MyBatis-Plus的OR
通过MyBatis-Plus的条件构造器,Java开发者可以方便地进行复杂的查询条件组合,包括AND和OR条件的灵活使用。熟练掌握这些技巧,可以显著提升开发效率和代码可读性。
59 20
|
30天前
|
SQL Java 数据库连接
【潜意识Java】MyBatis中的动态SQL灵活、高效的数据库查询以及深度总结
本文详细介绍了MyBatis中的动态SQL功能,涵盖其背景、应用场景及实现方式。
99 6
|
1月前
|
SQL Java 数据库连接
如何在 Java 代码中使用 JSqlParser 解析复杂的 SQL 语句?
大家好,我是 V 哥。JSqlParser 是一个用于解析 SQL 语句的 Java 库,可将 SQL 解析为 Java 对象树,支持多种 SQL 类型(如 `SELECT`、`INSERT` 等)。它适用于 SQL 分析、修改、生成和验证等场景。通过 Maven 或 Gradle 安装后,可以方便地在 Java 代码中使用。
272 11
|
30天前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
56 2
|
30天前
|
SQL Java 数据库连接
【潜意识Java】深入理解MyBatis的Mapper层,以及让数据访问更高效的详细分析
深入理解MyBatis的Mapper层,以及让数据访问更高效的详细分析
62 1
|
30天前
|
SQL Java 数据库连接
【潜意识Java】深入理解MyBatis,从基础到高级的深度细节应用
本文详细介绍了MyBatis,一个轻量级的Java持久化框架。内容涵盖MyBatis的基本概念、配置与环境搭建、基础操作(如创建实体类、Mapper接口及映射文件)以及CRUD操作的实现。此外,还深入探讨了高级特性,包括动态SQL和缓存机制。通过代码示例,帮助开发者更好地掌握MyBatis的使用技巧,提升数据库操作效率。总结部分强调了MyBatis的优势及其在实际开发中的应用价值。
32 1
|
1月前
|
JSON Java 数据挖掘
利用 Java 代码获取淘宝关键字 API 接口
在数字化商业时代,精准把握市场动态与消费者需求是企业成功的关键。淘宝作为中国最大的电商平台之一,其海量数据中蕴含丰富的商业洞察。本文介绍如何通过Java代码高效、合规地获取淘宝关键字API接口数据,帮助商家优化产品布局、制定营销策略。主要内容包括: 1. **淘宝关键字API的价值**:洞察用户需求、优化产品标题与详情、制定营销策略。 2. **获取API接口的步骤**:注册账号、申请权限、搭建Java开发环境、编写调用代码、解析响应数据。 3. **注意事项**:遵守法律法规与平台规则,处理API调用限制。 通过这些步骤,商家可以在激烈的市场竞争中脱颖而出。
|
1月前
|
SQL Java 数据库连接
Java MyBatis 面试题
Java MyBatis相关基础面试题
|
2月前
|
安全 Java 编译器
深入理解Java中synchronized三种使用方式:助您写出线程安全的代码
`synchronized` 是 Java 中的关键字,用于实现线程同步,确保多个线程互斥访问共享资源。它通过内置的监视器锁机制,防止多个线程同时执行被 `synchronized` 修饰的方法或代码块。`synchronized` 可以修饰非静态方法、静态方法和代码块,分别锁定实例对象、类对象或指定的对象。其底层原理基于 JVM 的指令和对象的监视器,JDK 1.6 后引入了偏向锁、轻量级锁等优化措施,提高了性能。
77 3

热门文章

最新文章