代码生成器 generator的使用

适用版本:mybatis-plus-generator 3.5.1 及其以上版本,由于生成器代码不需要提交维护,代码放在test包下面即可

1、引入依赖

<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.1</version>
</dependency>

方式一
2、在test类中执行以下代码快速生成

FastAutoGenerator.create("url", "username", "password") //写需要生成的数据库的信息.globalConfig(builder -> {builder.author("baomidou") // 设置作者.enableSwagger() // 开启 swagger 模式.fileOverride() // 覆盖已生成文件.outputDir("D://"); // 指定输出目录}).packageConfig(builder -> {builder.parent("com.baomidou.mybatisplus") // 设置父包名,就是生成后的类的包名字.moduleName("system") // 设置父包模块名.pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D://")); // 设置mapperXml生成路径}).strategyConfig(builder -> {builder.addInclude("t_simple") // 设置需要生成的表名.addTablePrefix("t_", "c_"); // 设置过滤表前缀 ,这些不需要这是注掉}).templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板.execute();

方式二、设置好对应信息在生成

public class CodeGenerator {@Testpublic void genCode() {// 1、创建代码生成器AutoGenerator mpg = new AutoGenerator();// 2、全局配置GlobalConfig gc = new GlobalConfig();String projectPath = System.getProperty("user.dir"); //获取该项目的全路径gc.setOutputDir(projectPath + "/src/main/java");//设置生成后存放的路径gc.setAuthor("Helen");//设置作者gc.setOpen(false); //生成后是否打开资源管理器gc.setServiceName("%sService");  //去掉Service接口的首字母Igc.setIdType(IdType.AUTO); //主键策略 ,在生成的对象所有的id属性都会加上      @TableId(value = "id", type = IdType.AUTO)注解,主键自增gc.setSwagger2(true);//开启Swagger2模式,自动生成接口文档,使用必须引入依赖下面的依赖,生成时每个属性都会有    @ApiModelProperty(value = "编号")这样的注解 会把创建表时的字段注释拿过来,这样可以清楚知道每个字段对应的意思mpg.setGlobalConfig(gc);// 3、数据源配置DataSourceConfig dsc = new DataSourceConfig();dsc.setUrl("jdbc:mysql://localhost:3306/数据库库名?serverTimezone=GMT%2B8&characterEncoding=utf-8");//后面两个参数分别是设置时区和字符集dsc.setDriverName("com.mysql.cj.jdbc.Driver");//设置jdbc驱动,mysql8以下是com.mysql.jdbc.Drive,mysql8以上是com.mysql.cj.jdbc.Driverdsc.setUsername("root");//数据库usernamedsc.setPassword("123456");//数据库passworddsc.setDbType(DbType.MYSQL);mpg.setDataSource(dsc);// 4、包配置PackageConfig pc = new PackageConfig();pc.setParent("com.srb.core");pc.setEntity("pojo.entity"); //此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。mpg.setPackageInfo(pc);// 5、策略配置StrategyConfig strategy = new StrategyConfig();strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略,由下划线命名改为驼峰命名strategy.setColumnNaming(NamingStrategy.underline_to_camel);  //列名下划线转驼峰命名strategy.setEntityLombokModel(true);    //给所有的实体类加lombok注解,不自动生成get和set,但加上了@Data注解,会在编译的时候自动生成get和setstrategy.setLogicDeleteFieldName("is_deleted");   //逻辑删除字段名,给逻辑删除字段加逻辑注解 @logicDeletestrategy.setEntityBooleanColumnRemoveIsPrefix(true); //去掉is_前缀,阿里的开发文档规定属性名不要以is开头strategy.setRestControllerStyle(true);  //restful api风格,返回json的mpg.setStrategy(strategy);//6执行mpg.execute();}}

使用swagger需要引入的依赖

  <!--swagger--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId></dependency><!--swagger ui--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId></dependency>

代码生成器 generator相关推荐

  1. SpringBoot整合Mybatis-Plus,代码生成器Generator以及Swagger(附源码、图文学习、Postman、ApiPost第三方工具的使用)

    目录 一.SpringBoot整合Mybatis-plus 1.引入依赖 2.创建数据库 3.整合代码生成器Generator 二.什么是Swagger2,有什么作用? 三.SpringBoot整合S ...

  2. MybatisPlus代码生成器(新)

    官方配置:https://baomidou.com/pages/981406/#%E6%95%B0%E6%8D%AE%E5%BA%93%E9%85%8D%E7%BD%AE-datasourceconf ...

  3. 快速上手MyBatisPlus~(基友搭配,效率翻倍)

    目录 一.简介 二.快速入门 1. 创建数据库及数据表 2. 新建项目,导入依赖 3. 编写数据库配置文件&连接 4. 创建pojo实体类 5. 编写mapper&扫描 6. 测试类简 ...

  4. java 二分搜索获得大于目标数的第一位_Java后端架构师技术图谱,你都了解多少?...

    前言 欢迎工作一到五年的Java工程师朋友们加入我们,私信回复[资料]即可获取我们提供免费的Java架构学习资料(里面有高可用.高并发.高性能及分布式.Jvm性能调优.Spring源码, MyBati ...

  5. README-architect

    <后端架构师技术图谱> 更新于20180916 数据结构 队列 集合 链表.数组 字典.关联数组 栈 树 二叉树 完全二叉树 平衡二叉树 二叉查找树(BST) 红黑树 B,B+,B*树 L ...

  6. 《后端架构师技术图谱》

    数据结构 队列 集合 链表.数组 字典.关联数组 栈 树 二叉树 完全二叉树 平衡二叉树 二叉查找树(BST) 红黑树 B,B+,B*树 LSM 树 BitSet 常用算法 排序.查找算法 选择排序 ...

  7. SpringBoot整合Mybatis-Pius(简单易懂!)

    SpringBoot整合Mybatis-Pius 新建springboot项目 开发工具:idea2020.2,maven3 按需导入 pom.xml <?xml version="1 ...

  8. 金刀的博客 | 《后端架构师技术图谱》

    <后端架构师技术图谱> 推荐: <Java技术书籍大全> - awesome-java-books 从初级开发者到资深架构师,看这些书就够了 数据结构 队列 集合 链表.数组 ...

  9. 《后端架构师技术图谱》(转)

    GitHub上看来的技术图谱,方便查看知识点.原地址(侵删) 数据结构 队列 <java队列--queue详细分析> 非阻塞队列:ConcurrentLinkedQueue(无界线程安全) ...

最新文章

  1. python编程小提示
  2. ADC和DAC常用技术术语
  3. SQL How to get the current day month and year
  4. python123平台作业答案第十一周_第十一周作业
  5. 长春理工大学计算机学院分数线,2021长春理工大学录取分数线-长春理工大学分数线-2021长春理工大学录取查询网址...
  6. 左神算法:环形单链表的约瑟夫问题(Java版)
  7. MySQL计算表行数_计算MySQL表中行数的最快方法?
  8. 设计模式-结构型模式-装饰模式
  9. javascript中的一些核心知识点以及需要注意的地方
  10. 单级离心压缩机行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  11. origin函数拟合
  12. 微信小程序实现选项卡切换功能
  13. MyBatis与JPA的区别是什么
  14. 新版酷享云支付系统第三方第四方支付源码
  15. java导出出行客人到Excel
  16. 页面跳转的两种方式(转发和重定向)区别详解:
  17. Echodyne为其行业领先的CUAS雷达EchoGuard拓展市场
  18. 硬盘分区备忘(主分区,扩展分区和逻辑分区)以及Linux硬盘分区工具parted 介绍...
  19. Android基础入门教程——4.3.1 BroadcastReceiver牛刀小试
  20. BPM软件_K2签约龙光地产,为集团实现“千亿目标”保驾护航_全业务流程管理专家...

热门文章

  1. Redis分布式实现原理
  2. mysql 银行卡号数据类型_MYSQL 数据类型
  3. java文件删除语句_JAVA/JSP删除文件语句问题~~!
  4. 黄金矿工(小游戏)-----------C语言+easyx实现
  5. CSDN 如何置顶文章
  6. mysql 中文 特殊字符_mysql实现数字、字母、中文、特殊字符排序
  7. windows设备管理器中找不到独立显卡
  8. C/C++ MySQL数据库开发
  9. 关于HC04超声波模块测距的思考(51版)
  10. 企业新闻稿有什么特点?