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

简介: 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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
12月前
|
SQL 缓存 Java
Mybatis及MybatisPlus
MyBatis 是一款优秀的持久层框架,支持自定义 SQL、存储过程及高级映射。其系统架构通过 mybatis-config.xml 配置全局信息,结合 mapper.xml 映射 SQL 语句,构建 SqlSessionFactory 并创建 SqlSession 操作数据库。MyBatis 底层通过 Executor 执行器和 Mapped Statement 对象实现 SQL 的输入输出映射与执行。支持复杂结果集映射,
|
Java 数据库连接 数据库
Spring boot 使用mybatis generator 自动生成代码插件
本文介绍了在Spring Boot项目中使用MyBatis Generator插件自动生成代码的详细步骤。首先创建一个新的Spring Boot项目,接着引入MyBatis Generator插件并配置`pom.xml`文件。然后删除默认的`application.properties`文件,创建`application.yml`进行相关配置,如设置Mapper路径和实体类包名。重点在于配置`generatorConfig.xml`文件,包括数据库驱动、连接信息、生成模型、映射文件及DAO的包名和位置。最后通过IDE配置运行插件生成代码,并在主类添加`@MapperScan`注解完成整合
1681 1
Spring boot 使用mybatis generator 自动生成代码插件
|
Java 数据安全/隐私保护 计算机视觉
银行转账虚拟生成器app,银行卡转账截图制作软件,java实现截图生成工具【仅供装逼娱乐用途】
本内容提供Java生成自定义图片的示例代码,涵盖基础图像创建、文本添加及保存功能,适合学习2D图形编程。包括教学示例图片生成、文本图层处理和数字水印技术实现方案。
银行转账p图软件,对公转账截图生成器,java版开发银行模拟器【仅供学习参考】
这是一套简单的银行账户管理系统代码,包含`BankAccount`和`BankSystem`两个核心类。`BankAccount`负责单个账户的管理
|
存储 Java 数据库
银行流水生成器在线制作,银行转账p图在线生成,java实现最牛的生成器【仅供学习用途】
本示例展示了一个基于Java的银行交易记录管理系统基础架构,涵盖交易记录生成、数字签名加密及账本存储功能。核心内容包括:1) TransactionRecord类
|
SQL Java 数据库
解决Java Spring Boot应用中MyBatis-Plus查询问题的策略。
保持技能更新是侦探的重要素质。定期回顾最佳实践和新技术。比如,定期查看MyBatis-Plus的更新和社区的最佳做法,这样才能不断提升查询效率和性能。
788 1
|
Java 数据安全/隐私保护
银行转账虚拟生成器app,银行卡转账截图制作软件,java实现截图生成工具【仅供装逼娱乐用途】
本项目提供了一套基于Java的图片处理教学方案,包含自定义图片生成、图像水印添加及合法电子凭证生成技术示例。
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
572 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
15906 5
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
安全 Java 数据库连接
Java使用MyBatis-Plus的OR
通过MyBatis-Plus的条件构造器,Java开发者可以方便地进行复杂的查询条件组合,包括AND和OR条件的灵活使用。熟练掌握这些技巧,可以显著提升开发效率和代码可读性。
881 20