1.概述

官方文档解释:

MyBatis Generator (MBG) is a code generator for MyBatis MyBatis and iBATIS.
It will generate code for all versions of MyBatis, and versions of iBATIS after version 2.2.0.
It will introspect a database table (or many tables) and will generate artifacts that can be used to access the table(s).
This lessens the initial nuisance of setting up objects and configuration files to interact with database tables.
MBG seeks to make a major impact on the large percentage of database operations that are simple CRUD (Create, Retrieve, Update, Delete).
You will still need to hand code SQLand objects for join queries, or stored procedures.

MyBatis生成器(MBG)是MyBatis MyBatis和iBATIS的代码生成器。它将为MyBatis的所有版本以及2.2.0版之后的iBATIS版本生成代码。它将内省一个数据库表(或多个表),并生成可用于访问表的工件。这减少了设置对象和配置文件以与数据库表交互的最初麻烦。MBG试图对大部分简单CRUD(Create、Retrieve、Update、Delete)的数据库操作产生重大影响。仍然需要手工编写SQL和对象以用于连接查询或存储过程。

2.整体架构与数据流


整体来说,mbg的结构比较简单,清晰。
相对特点:

  • 代码的生成没有采用模板,而是把代码和xml的结构定义成了对应的java类
  • 支持kotlin语言 (侧面印证kotlin火热)
  • mbg设计之初就充分考虑了扩展性,设计了插件机制

3.快速入门

第一步:创建coder模块,导入依赖信息

<dependencies><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.3.1</version></dependency><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.0</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>
</dependencies>

第二步:编写代码生成器代码:

public class CodeGet {public static void main(String[] args) {// 1、创建代码生成器AutoGenerator mpg = new AutoGenerator();// 2、全局配置// 全局配置GlobalConfig gc = new GlobalConfig();String projectPath = System.getProperty("user.dir");//gc.setOutputDir(projectPath + "/src/main/java");// 例如模块路径:D:\\repos\\idearepos\\yygh1126\\yygh_parent\\service\\yygh_hospgc.setOutputDir("模块路径"+"/src/main/java");gc.setServiceName("%sService");    //去掉Service接口的首字母I// gc.setAuthor("项目作者");gc.setAuthor("tlc");gc.setOpen(false);mpg.setGlobalConfig(gc);// 3、数据源配置DataSourceConfig dsc = new DataSourceConfig();dsc.setUrl("jdbc:mysql://192.168.136.10:3306/数据库名称");dsc.setDriverName("com.mysql.jdbc.Driver");dsc.setUsername("用户名");dsc.setPassword("密码");//dsc.setDbType(数据库类型);dsc.setDbType(DbType.MYSQL);mpg.setDataSource(dsc);// 4、包配置PackageConfig pc = new PackageConfig();// com.tlc.yygh.hosppc.setModuleName("hosp"); //模块名/包名pc.setParent("com.tlc.yygh");// 父级包名pc.setController("controller");pc.setEntity("entity");pc.setService("service");pc.setMapper("mapper");mpg.setPackageInfo(pc);// 5、策略配置StrategyConfig strategy = new StrategyConfig();strategy.setInclude("数据库表名");strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略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();}
}

MyBatisGenerator(MBG)代码自动生成器,从此解放你的双手相关推荐

  1. Mybatis Plus 代码自动生成器常用配置参考(详细解读)

    Mybatis Plus 代码自动生成器常用配置 代码自动生成器常用配置 基础配置 代码自动生成配置(详) 1.常量 2.主方法用于运行生成代码 3.代码生成方法 4.各项配置详解 代码自动生成器常用 ...

  2. 发布CodeBuild.Net代码自动生成器 V2008 2.01(Vs2008)和架构实例源码Demo

    CodeBuild.Net代码自动生成器 V2008 2.01(Vs2008) Microsoft Visual Studio 2008开发,需要安装运行库. 支持生成多标签切换等功能,方便代码生成, ...

  3. 快速搭建springboot+mybatis-plus代码自动生成器的后端框架

    利用springboot + mybatis-plus 代码自动生成器快速搭建后端框架 项目环境 IDEA 2020 springboot 2.3.7.RELEASE mybatis-plus 3.5 ...

  4. 感悟开发.Net代码自动生成器,为软件起个好名字

    前两天收到成都罗斌的再次来信,突然有些感悟.征求了作者本人意见后,现刊登一些网友的来信,同时就一些问题欢迎大家讨论. ----------------------------------------- ...

  5. spring boot:从零开始搭建一个项目 - day 5 Mybatis plus代码自动生成器

    spring boot:从零开始搭建一个项目 - day 5 Mybatis plus代码自动生成器 一.Mybatis plus代码自动生成器 1.引入配置 2.创建Controller 3.执行m ...

  6. 推荐几个代码自动生成器

    文章目录 老的代码生成器的地址:[https://www.cnblogs.com/skyme/archive/2011/12/22/2297592.html](https://link.zhihu.c ...

  7. mybatis代码自动生成器_最近很火的文章自动生成器,python源码公开了(内附python代码)

    学了python,但是又不知道可以用来干嘛.开发一个计算器?太low了.开发一个网站?感觉网站涉及太多知识点,一个人搞不定.不用慌,本文介绍一个最近很火的一个文章自动生成器,它是用python写的,能 ...

  8. MyBatis-Plus Generator v3.5.1 最新代码自动生成器

    一.概述 官网:https://baomidou.com/ 官方文档 :https://baomidou.com/pages/56bac0/ 官方源码地址: https://gitee.com/bao ...

  9. python代码自动生成器下载_Python代码生成器

    iefans下载为用户提供的Python代码生成器是一款高效实用的多功能代码自动编辑软件,该软件采用Delphi语言开发,同时内置了大量的编程学习内容与百款实例代码,让用户能够使用Python代码生成 ...

最新文章

  1. flask_restplus的fields中怎么定义字典_Quora | 成功的定义是什么?
  2. jsp分页显示的代码与详细步骤 复制代码
  3. Jquery中post与get之间的区别详细介绍
  4. matlab simplify,[求助]Matlab2016b里没有simple函数
  5. c语言variant是什么变量,介绍一些常用数据类型的使用。先定义一些常见类型变量借以.doc...
  6. IT软件创业之 -- 小软件项目也有风险、也会失败、也会损兵折将
  7. ESP32 GPIO入门之闪灯
  8. java 语言的介绍
  9. 微信支付商户平台登录方法详解 微信商户平台如何登录
  10. android 二选一的按钮,选择框 RadioButton/Check - Android 入门教程
  11. Android 4.4 kitkat以上及以下根据uri获取路径的方法
  12. 产品经理是做什么的?
  13. 数独输出Java_java – 使用回溯的数独求解器
  14. matlab 产生声音,matlab实现声音转换
  15. TAGS::Vim进阶索引[7]
  16. 0-1背包算法python实现
  17. 解码郭台铭语录,50句你应该知道的“郭台铭语录”
  18. initialization failure0x0000000c问题
  19. 香港 单双线的区别?
  20. SAP-ABAP会计凭证创建BAPI

热门文章

  1. Apsara Clouder大数据专项技能认证:基于MaxCompute的热门话题分析
  2. 惰性是人生最大的敌人
  3. 人工神经网络技术的优点,人工神经网络是算法吗
  4. Acrel-3000电能管理系统在成都河畔新世界项目的应用
  5. 在网页上添加微信分享按钮,关注微信号等按钮
  6. bmp180气压传感器工作原理_轮速传感器的分类以及工作原理解析
  7. js实现地址转化经纬度以及经纬度转化地址
  8. 360安全浏览器发布
  9. 在使用element-ui分页器时遇到的数值绑定错误
  10. 对象深浅拷贝的四种方法