我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MybatisPlus代码生成器的使用方法详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MybatisPlus代码生成器的使用方法详解

搭建测试的数据库和表数据的SQL




SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` bigint(0) NOT NULL COMMENT '主键ID',
  `name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
  `age` int(0) NULL DEFAULT NULL COMMENT '年龄',
  `email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
  `create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
  `version` int(0) NULL DEFAULT NULL COMMENT '版本号',
  `deleted` tinyint(1) NULL DEFAULT NULL COMMENT '用于逻辑删除',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, 'Jone', 18, 'test1@baomidou.com', NULL, NULL, NULL, NULL);
INSERT INTO `user` VALUES (2, 'Jack', 20, 'test2@baomidou.com', NULL, NULL, NULL, NULL);
INSERT INTO `user` VALUES (3, 'Tom', 38, 'test3@baomidou.com', NULL, '2021-04-11 16:13:56', NULL, NULL);
INSERT INTO `user` VALUES (4, 'Sandy', 21, 'test4@baomidou.com', NULL, NULL, NULL, NULL);
INSERT INTO `user` VALUES (5, 'Billie', 24, 'test5@baomidou.com', NULL, NULL, NULL, NULL);
INSERT INTO `user` VALUES (1381145367839522818, '李白', 28, 'lucy@qq.com', NULL, NULL, NULL, NULL);
INSERT INTO `user` VALUES (1381156317133090817, 'lili', 28, 'lucyee@qq.com', NULL, NULL, NULL, NULL);
INSERT INTO `user` VALUES (1381157235618492418, 'lili', 28, 'lucyee@qq.com', NULL, NULL, NULL, NULL);
INSERT INTO `user` VALUES (1381158109963096065, 'lili', 28, 'lucyee@qq.com', '2021-04-11 16:12:09', NULL, NULL, NULL);
INSERT INTO `user` VALUES (1381166877736280066, '江小白', 200, 'lucyee@qq.com', '2021-04-11 16:46:59', '2021-04-11 16:51:57', 2, NULL);
INSERT INTO `user` VALUES (1381186511252258818, '东方不败', 200, 'lucyee@qq.com', '2021-04-11 18:05:00', '2021-04-11 18:05:47', 2, 1);
INSERT INTO `user` VALUES (1381225266432524290, '东方不败11', 28, 'lucyee@qq.com', '2021-04-11 20:39:00', '2021-04-11 20:39:00', 1, NULL);

SET FOREIGN_KEY_CHECKS = 1;

引入Maven的配置文件

在这里我多引入了swagger测试接口的依赖,因为在MybatisPlus的配置文件里,可以配置自动添加swagger的注解。用于测试接口时的标识。


<!--mybatis-plus 持久层-->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                 <version>3.0.5</version>
            </dependency>

            <!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
            <dependency>
                <groupId>org.apache.velocity</groupId>
                <artifactId>velocity-engine-core</artifactId>
                <version>2.0</version>
            </dependency>

 <!--swagger-->
       <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger2</artifactId>
      <version>2.7.0</version>
      <scope>provided </scope>
    </dependency>
    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger-ui</artifactId>
      <version>2.7.0</version>
      <scope>provided </scope>
    </dependency>

编辑MybatisPlus的配置文件

在配置文件里有很多的注释,你可以根据注释来理解配置文件,并且改成和自己数据库对应的配置


package com.atguigu.demo;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.Test;


public class CodeGenerator {

    @Test
    public void run() {

        // 1、创建代码生成器
    AutoGenerator mpg = new AutoGenerator();

    // 2、全局配置
    GlobalConfig gc = new GlobalConfig();
    String projectPath = System.getProperty("user.dir");
    gc.setOutputDir(projectPath + "/class="lazy" data-src/main/java");
    gc.setAuthor("huiXing");
    gc.setOpen(false); //生成后是否打开资源管理器
    gc.setFileOverride(false); //重新生成时文件是否覆盖
    gc.setServiceName("%sService");	//去掉Service接口的首字母I
    gc.setIdType(IdType.ID_WORKER_STR); //主键策略
    gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
    gc.setSwagger2(true);//开启Swagger2模式

    mpg.setGlobalConfig(gc);

    // 3、数据源配置
    DataSourceConfig dsc = new DataSourceConfig();
    dsc.setUrl("jdbc:mysql://localhost:3306/fyDatabase?serverTimezone=GMT%2B8");
    dsc.setDriverName("com.mysql.cj.jdbc.Driver");
    dsc.setUsername("root");
    dsc.setPassword("123456");
    dsc.setDbType(DbType.MYSQL);
    mpg.setDataSource(dsc);

    // 4、包配置
    PackageConfig pc = new PackageConfig();
    pc.setModuleName("production"); //模块名
    pc.setParent("com.fuyuan.springboot");
    pc.setController("controller");
    pc.setEntity("entity");
    pc.setService("service");
    pc.setMapper("mapper");
    mpg.setPackageInfo(pc);

    // 5、策略配置
    StrategyConfig strategy = new StrategyConfig();

    strategy.setInclude("tb_production");

    strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
    // strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀
    strategy.setTablePrefix("tb" + "_"); //生成实体类时 去掉前缀t_

    strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
    strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作

    strategy.setRestControllerStyle(true); //restful api风格控制器
    strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符
    mpg.setStrategy(strategy);
    // 6、执行
    mpg.execute();
    }
}

配置application.properties文件


# 服务端口
server.port=8009

# mysql数据库连接
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatisplus?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456

#返回json的全局时间格式
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8

#mybatis-plus日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

编辑完毕了之后直接运行测试类就可以自动生成开发所需要的代码了
当你看到有代码自动生成出来了说明你成功了:

在这里插入图片描述

到此这篇关于MybatisPlus的代码生成器使用方法详解的文章就介绍到这了,更多相关MybatisPlus代码生成器的使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MybatisPlus代码生成器的使用方法详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MyBatisPlus代码生成器的原理及实现详解

这篇文章主要为大家详细介绍了MyBatisPlus中代码生成器的原理及实现,文中的示例代码讲解详细,对我们学习MyBatisPlus有一定帮助,需要的可以参考一下
2022-11-13

MybatisPlus-常用代码生成器(不生成简单增删改查逻辑代码)

引入依赖 com.baomidou mybatis-plus-generator 3.3.1.tmp添加模板依赖(mybaitsplus必须依赖一个模板freemarker/Velocity等都可以 必须要有)3选一: org.apac
MybatisPlus-常用代码生成器(不生成简单增删改查逻辑代码)
2021-03-05

MyBatisPlus中CRUD使用方法详解

通用CRUD封装,BaseMapper(opensnewwindow)接口,为Mybatis-Plus启动时自动解析实体表关系映射转换为Mybatis内部对象注入容器
2023-01-31

JavaScript迭代器与生成器使用详解

迭代器是一个统一的接口,它的作用是使各种数据结构可以被便捷的访问,它是通过一个键为Symbol.iterator的方法来实现,这篇文章主要介绍了ES6中的迭代器和生成器,需要的朋友可以参考下
2022-11-13

使用 Swift Package 插件生成代码的示例详解

这篇文章主要介绍了使用 Swift Package 插件生成代码,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2022-11-13

更简单更高效的MybatisPlus最新代码生成器AutoGenerator

这篇文章主要为大家介绍了更简单更高效的MybatisPlus最新代码生成器AutoGenerator使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-02-10

SpringBoot项目使用mybatis-plus代码生成的实例详解

mybatis-plus是mybatis的增强,不对mybatis做任何改变,涵盖了代码生成,自定义ID生成器,快速实现CRUD,自动分页,逻辑删除等功能。本文就来讲讲SpringBoot项目如何使用mybatis-plus实现代码生成,需要的可以了解一下
2022-11-13

基于Android本地代码生成器详解

在使用AndroidNDK开发的时候有个事情是很烦人的,那就是创建本地代码文件夹,生成本地代码文件和创建本地代码的编译文件。特别是实现本地方法的时候,也是比较烦人的,因为本地方法的名字实在是太长了。它的命名规范是:Java_package-
2022-06-06

python使用生成器的方法

这篇文章主要介绍了python使用生成器的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python使用生成器的方法文章都会有所收获,下面我们一起来看看吧。尽可能使用生成器单机处理较大数据量时,生成器往往很
2023-06-27

Flutter ChatGPT代码生成器怎么使用

本篇内容主要讲解“Flutter ChatGPT代码生成器怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Flutter ChatGPT代码生成器怎么使用”吧!ChatGPTChatGPT
2023-07-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录