mybatis-plus 自动生成代码
- public class MpGenerator {
- /**
- * <p>
- * MySQL 生成演示
- * </p>
- */
- public static void main(String[] args) {
- AutoGenerator mpg = new AutoGenerator();
- // 全局配置
- GlobalConfig gc = new GlobalConfig();
- gc.setOutputDir("D://");
- gc.setFileOverride(true);
- gc.setActiveRecord(true);// 不需要ActiveRecord特性的请改为false
- gc.setEnableCache(false);// XML 二级缓存
- gc.setBaseResultMap(true);// XML ResultMap
- gc.setBaseColumnList(false);// XML columList
- gc.setAuthor("张晓宇");
- // 自定义文件命名,注意 %s 会自动填充表实体属性!
- // gc.setMapperName("%sDao");
- // gc.setXmlName("%sDao");
- // gc.setServiceName("MP%sService");
- // gc.setServiceImplName("%sServiceDiy");
- // gc.setControllerName("%sAction");
- mpg.setGlobalConfig(gc);
- // 数据源配置
- DataSourceConfig dsc = new DataSourceConfig();
- dsc.setDbType(DbType.MYSQL);
- dsc.setTypeConvert(new MySqlTypeConvert() {
- // 自定义数据库表字段类型转换【可选】
- @Override
- public DbColumnType processTypeConvert(String fieldType) {
- System.out.println("转换类型:" + fieldType);
- // 注意!!processTypeConvert 存在默认类型转换,如果不是你要的效果请自定义返回、非如下直接返回。
- return super.processTypeConvert(fieldType);
- }
- });
- dsc.setDriverName("com.mysql.jdbc.Driver");
- dsc.setUsername("root");
- dsc.setPassword("123456");
- dsc.setUrl("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8&useSSL=false");
- mpg.setDataSource(dsc);
- // 策略配置
- StrategyConfig strategy = new StrategyConfig();
- // strategy.setCapitalMode(true);// 全局大写命名 ORACLE 注意
- // strategy.setTablePrefix(new String[] { "pf_product_" });// 此处可以修改为您的表前缀
- strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
- strategy.setInclude(new String[] { "user" }); // 需要生成的表
- // strategy.setExclude(new String[]{"test"}); // 排除生成的表
- // 自定义实体父类
- // strategy.setSuperEntityClass("com.baomidou.demo.TestEntity");
- // 自定义实体,公共字段
- // strategy.setSuperEntityColumns(new String[] { "test_id", "age" });
- // 自定义 mapper 父类
- // strategy.setSuperMapperClass("com.baomidou.demo.TestMapper");
- // 自定义 service 父类
- // strategy.setSuperServiceClass("com.baomidou.demo.TestService");
- // 自定义 service 实现类父类
- // strategy.setSuperServiceImplClass("com.baomidou.demo.TestServiceImpl");
- // 自定义 controller 父类
- // strategy.setSuperControllerClass("com.baomidou.demo.TestController");
- // 【实体】是否生成字段常量(默认 false)
- // public static final String ID = "test_id";
- // strategy.setEntityColumnConstant(true);
- // 【实体】是否为构建者模型(默认 false)
- // public User setName(String name) {this.name = name; return this;}
- // strategy.setEntityBuilderModel(true);
- mpg.setStrategy(strategy);
- // 包配置
- PackageConfig pc = new PackageConfig();
- pc.setParent("com.aikxian.av");
- pc.setModuleName("test");
- mpg.setPackageInfo(pc);
- // 注入自定义配置,可以在 VM 中使用 cfg.abc 【可无】
- InjectionConfig cfg = new InjectionConfig() {
- @Override
- public void initMap() {
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp");
- this.setMap(map);
- }
- };
- // 自定义 xxList.jsp 生成
- List<FileOutConfig> focList = new ArrayList<FileOutConfig>();
- // focList.add(new FileOutConfig("/template/list.jsp.vm") {
- // @Override
- // public String outputFile(TableInfo tableInfo) {
- // // 自定义输入文件名称
- // return "D://my_" + tableInfo.getEntityName() + ".jsp";
- // }
- // });
- // cfg.setFileOutConfigList(focList);
- // mpg.setCfg(cfg);
- // 调整 xml 生成目录演示
- focList.add(new FileOutConfig("D://templates/mapper.xml.vm") {
- @Override
- public String outputFile(TableInfo tableInfo) {
- return "/develop/code/xml/" + tableInfo.getEntityName() + ".xml";
- }
- });
- // cfg.setFileOutConfigList(focList);
- // mpg.setCfg(cfg);
- // 关闭默认 xml 生成,调整生成 至 根目录
- TemplateConfig tc = new TemplateConfig();
- // tc.setXml(null);
- mpg.setTemplate(tc);
- // 自定义模板配置,可以 copy 源码 mybatis-plus/src/main/resources/templates 下面内容修改,
- // 放置自己项目的 src/main/resources/templates 目录下, 默认名称一下可以不配置,也可以自定义模板名称
- // TemplateConfig tc = new TemplateConfig();
- // tc.setController("...");
- // tc.setEntity("...");
- // tc.setMapper("...");
- // tc.setXml("...");
- // tc.setService("...");
- // tc.setServiceImpl("...");
- // 如上任何一个模块如果设置 空 OR Null 将不生成该模块。
- // mpg.setTemplate(tc);
- // 执行生成
- mpg.execute();
- // 打印注入设置【可无】
- // System.err.println(mpg.getCfg().getMap().get("abc"));
- }
- }
mybatis-plus 自动生成代码的更多相关文章
- SpringBoot 添加mybatis generator 自动生成代码插件
自动生成数据层代码,提高开发效率 1.pom添加插件,并指定配置文件路径 <!-- mybatis generator 自动生成代码插件 --> <plugin> <gr ...
- idea中mybatis generator自动生成代码配置 数据库是sqlserver
好长时间没有写博客了,最近公司要用java语言,开始学习java,属于初学者,今天主要记录一下mybatis generator自动生成代码,首先在如下图的目录中新建两个文件,如下图 generato ...
- SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件
原文链接 我们这一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件.然后再使用阿里巴巴提供的开源连接池druid,这个连接池 ...
- IDEA Maven Mybatis generator 自动生成代码
IDEA Maven Mybatis generator 自动生成代码 一.安装配置maven以及在Idea中配置maven 安装过程步骤可以看上面的博文,里面介绍得很详细. 二.建数据表 DROP ...
- IDEA Maven Mybatis generator 自动生成代码(实例讲解)(转)
IDEA Maven Mybatis generator 自动生成代码(实例讲解) MyBatis Generator • 简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的 ...
- (转)MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码
http://blog.csdn.net/yerenyuan_pku/article/details/71909325 什么是逆向工程 MyBatis的一个主要的特点就是需要程序员自己编写sql,那么 ...
- 使用mybatis插件自动生成代码以及问题处理
1.pom.xml中加入依赖插件 <!-- mybatis generator 自动生成代码插件 --> <plugin> <groupId>org.mybatis ...
- MyBatis框架之mybatis逆向工程自动生成代码
http://www.jb51.net/article/82062.htm Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们 ...
- SpringBoot+Mybatis+MySql 自动生成代码 自动分页
一.配置文件 <!-- 通用mapper --> <dependency> <groupId>tk.mybatis</groupId> <arti ...
- 使用Mybatis Generator自动生成代码
MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器.它将为所有版本的MyBatis以及版本2.2.0之后的iBATIS版本生成代码.它将内省数据库 ...
随机推荐
- iuplua test on luaforwindows
SW https://github.com/rjpcomputing/luaforwindows/releases Steps Install lua for windows write a bat ...
- Linux系统挂载新磁盘
执行df -h 查看已挂载磁盘 未能找到挂载磁盘 1)使用fdisk -l命令查看主机上的硬盘 红圈标志为后挂载的磁盘未能挂载 2)使用mkfs.ext4命令把硬盘格式化: mkfs.ext4 /de ...
- forward reference前向引用,gloal values and local values全局变量和局部变量,recursive function递归函数
1.全局变量与局部变量练习 1 # -*- coding: UTF-8 -*- 2 def bar(): 3 print('from bar') 4 def foo(): 5 print('from ...
- iterator简单描述
Item 26. Prefer iterator to const iterator, reverse_iterator, and const_reverse_iterator. 上面一段话,是< ...
- Zabbix监控进程(进程消失后钉钉报警)
用于python报警的脚本如下:(钉钉机器人的连接需要修改) #!/usr/bin/python3# -*- coding: utf-8 -*-# Author: aiker@gdedu.ml# My ...
- 好看的java集合类图
http://blog.csdn.net/iamzp2008/article/details/38151971?utm_source=tuicool&utm_medium=referral 现 ...
- Alpha阶段项目规划
Alpha阶段任务 概述 我们团队采访学长并听从学长的意见之后,决定根据第一版的phylab项目进行重构.但由于第一版的phylab项目在github上的代码仅仅只有alpha版本,我们接手之后进行了 ...
- 关于javabean
[javabean定义]定义:JavaBeans是Java语言中可以重复使用的软件组件,实质上是一种特殊的Java类.特点是可序列化,提供无参构造器,提供getter方法和setter方法访问对象的属 ...
- android 开发 View _10_ Path之基本操作
转载地址:http://www.gcssloop.com/customview/Path_Basic/ 安卓自定义View进阶-Path之基本操作 在上一篇Canvas之图片文字中我们了解了如何使用C ...
- 解决strcmp的错误以及VS的快捷键
主要是C++数组作业中发现的一些问题. 第一点是关于strcat函数 我用VS2018调用strcat的时候报错,错误信息提示strcat不安全(?)要用strcat_s.修改后,可成功运行. 但这两 ...