1.依赖

org.apache.velocity velocity-engine-core 2.0 com.baomidou mybatis-plus-boot-starter 3.4.3 com.baomidou mybatis-plus-generator 3.3.1

2.代码

package com.xhy.demo.until;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
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.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.Test;

import java.util.ArrayList;

class CodeGenerator {
public static void main(String[] args) {
// 1、创建代码生成器
AutoGenerator mpg = new AutoGenerator();

    // 2、全局配置GlobalConfig gc = new GlobalConfig();
/*
String projectPath = System.getProperty("user.dir");
System.out.println(projectPath);
*/gc.setOutputDir("F:\\IdeaProjects\\spring-redis");//1.修改为你项目的目录gc.setAuthor("xhy");gc.setOpen(false); //生成后是否打开资源管理器gc.setFileOverride(false); //重新生成时文件是否覆盖/** mp生成service层代码,默认接口名称第一个字母有I* UcenterService* */gc.setServiceName("%sService"); //去掉Service接口的首字母Igc.setIdType(IdType.ASSIGN_ID); //主键策略gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型gc.setSwagger2(true);//开启Swagger2模式mpg.setGlobalConfig(gc);// 3、数据源配置DataSourceConfig dsc = new DataSourceConfig();dsc.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai");//2.修改为你数据库的名字,用户名,密码dsc.setDriverName("com.mysql.cj.jdbc.Driver");dsc.setUsername("root");dsc.setPassword("root");dsc.setDbType(DbType.MYSQL);mpg.setDataSource(dsc);// 4、包配置PackageConfig pc = new PackageConfig();pc.setModuleName("demo"); //模块名pc.setParent("com.xhy");pc.setController("controller");pc.setEntity("entity");pc.setService("service");pc.setMapper("mapper");mpg.setPackageInfo(pc);// 5、策略配置StrategyConfig strategy = new StrategyConfig();//strategy.setInclude("edu_teacher");strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀// 数据库表字段映射到实体的命名策略strategy.setColumnNaming(NamingStrategy.underline_to_camel);// lombok 模型 @Accessors(chain = true) setter链式操作strategy.setEntityLombokModel(true);strategy.setLogicDeleteFieldName("is_deleted"); // 3.修改逻辑删除字段名strategy.setEntityBooleanColumnRemoveIsPrefix(true); //去掉布尔值is_前缀strategy.setRestControllerStyle(true); //restful api风格控制器strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符// 4.修改自动填充字段名TableFill gmtCreate = new TableFill("gmt_create", FieldFill.INSERT);TableFill gmtModified = new TableFill("gmt_modified", FieldFill.INSERT_UPDATE);ArrayList<TableFill> tableFills = new ArrayList<>();tableFills.add(gmtCreate);tableFills.add(gmtModified);strategy.setTableFillList(tableFills);mpg.setStrategy(strategy);// 6、执行mpg.execute();
}

}

3.运行即可生成
controller
entity
mapper
service

4.application.properties配置文件
########################## mybatis-plus配置 begin################################
#外部化xml配置
#mybatis-plus.config-location = classpath:mybatis-config.xml
#指定外部化 MyBatis Properties 配置,通过该配置可以抽离配置,实现不同环境的配置部署
#mybatis-plus.configuration-properties = classpath:mybatis/config/properties
#xml扫描,多个目录用逗号或者分号分割(告诉 Mapper 所对应的 XML 文件位置)
mybatis-plus.mapper-locations = classpath*:mapper/.xml
#MyBatis 别名包扫描路径,通过该属性可以给包中的类注册别名,多个路径用逗号分割
mybatis-plus.type-aliases-package = com.wongoing.
.model
#枚举类 扫描路径,如果配置了该属性,会将路径下的枚举类进行注入,让实体类字段能够简单快捷的使用枚举属性
#mybatis-plus.type-enums-package = com.wongoing.*.model
#如果配置了该属性,则仅仅会扫描路径下以该类作为父类的域对象
mybatis-plus.type-aliases-super-type = java.lang.Object
#项目启动会检查xml配置存在(只在开发时打开)
mybatis-plus.check-config-location = true
#SIMPLE:该执行器类型不做特殊的事情,为每个语句的执行创建一个新的预处理语句,REUSE:改执行器类会复用预处理语句,BATCH:该执行器类型会批量执行所有的更新语句
mybatis-plus.default-executor-type = REUSE

是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN(下划线命名) 到经典 Java 属性名 aColumn(驼峰命名) 的类似映射

mybatis-plus.configuration.map-underscore-to-camel-case = true

全局地开启或关闭配置文件中的所有映射器已经配置的任何缓存,默认为 true

mybatis-plus.configuration.cache-enabled = true
#懒加载
mybatis-plus.configuration.aggressive-lazy-loading = true
#none:不启用自动映射 partial:只对非嵌套的 resultMap 进行自动映射 full:对所有的 resultMap 都进行自动映射
mybatis-plus.configuration.auto-mapping-behavior = partial
#none:不做任何处理 (默认值)warning:以日志的形式打印相关警告信息 failing:当作映射失败处理,并抛出异常和详细信息
mybatis-plus.configuration.auto-mapping-unknown-column-behavior = none
#如果查询结果中包含空值的列,则 MyBatis 在映射的时候,会不会映射这个字段(#允许在resultType="map"时映射null值)
mybatis-plus.configuration.call-setters-on-nulls = true
#这个配置会将执行的sql打印出来,在开发或测试的时候可以用
mybatis-plus.configuration.log-impl = org.apache.ibatis.logging.stdout.StdOutImpl
#是否允许映射结果为多个数据集
mybatis-plus.configuration.multiple-result-sets-enabled = false

mybatis-plus全局配置

#表名下划线命名默认为true
mybatis-plus.global-config.db-config.table-underline = false
#id类型: 0 # 0:数据库ID自增 1:用户输入id 2:全局唯一id(IdWorker) 3:全局唯一ID(uuid)
mybatis-plus.global-config.db-config.id-type = auto
#是否开启大写命名,默认不开启
mybatis-plus.global-config.db-config.capital-mode = false
#逻辑已删除值,(逻辑删除下有效) 需要注入逻辑策略LogicSqlInjector 以@Bean方式注入(逻辑未删除值(默认为 0))
mybatis-plus.global-config.db-config.logic-not-delete-value = 0
#逻辑未删除值,(逻辑删除下有效)(逻辑已删除值(默认为 1))
mybatis-plus.global-config.db-config.logic-delete-value = 1
########################## mybatis-plus配置 end #################################

mybatis-plus 自动生成代码相关推荐

  1. SpringBoot如何自动生成实体类和Dao层以及映射文件(mybatis generator 自动生成代码)

    一.首先添加自动生成代码插件 <!-- mybatis generator 自动生成代码插件 生成时解除注释 --><plugin><groupId>org.myb ...

  2. SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件

    我们这一一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件.然后再使用阿里巴巴提供的开源连接池druid,这个连接池的好处我 ...

  3. (转)MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码

    http://blog.csdn.net/yerenyuan_pku/article/details/71909325 什么是逆向工程 MyBatis的一个主要的特点就是需要程序员自己编写sql,那么 ...

  4. Mybatis中自动生成代码(利用mybatis-generator-core-1.3.2)

    Mybatis中自动生成代码(利用mybatis-generator-core-1.3.2) 引言: 在使用mybatis开发的过程中,通常我们会给数据库的每张表编写对应的po.mapper.mapp ...

  5. 使用Mybatis Generator自动生成代码

    MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器. 它将为所有版本的MyBatis以及版本2.2.0之后的iBATIS版本生成代码. 它将内省数 ...

  6. Mybatis逆向工程自动生成代码文件

    一般来说都会新建另外一个项目,用于生成代码文件,然后拷贝到需要的项目中.新建maven项目用于生成代码文件,项目目录如下所示: pom.xml内容如下: <project xmlns=" ...

  7. Mybatis(1)——Mybatis Generator自动生成代码

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...

  8. Mybatis Plus自动生成代码

    mybatis-plus自动生成代码 一.简易生成代码 二.指定生成的样式,并且不在一个模块 1.父pom文件配置 2.子模块pom文件配置 3.准备vm文件 4.设置MyBatisPlusGener ...

  9. mybatis generator 自动生成代码(带注释的实体类)

    使用前提: 当你开发的java 项目或新模块的数据库有N张表操作时,这时要自己写实体类.dao.SqlMapper.xml等文件,如果有多个表,就是造成时间浪费降低开发效率,所以建议使用mybatis ...

  10. Eclipse使用mybatis generator自动生成代码

    一.写在前面 Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件 ...

最新文章

  1. java数值运算后精度丢失问题
  2. 自定义 VIEW 截图 保存到图库 并分享
  3. CSS中content和attr的用法
  4. jenkins jar包上传maven仓库
  5. 字符串数值的比较 java
  6. SQL Server2000企业管理器在Win7中新建表错误的解决方法
  7. DM8168 DMM(2)
  8. python3中使用Redis
  9. 数据库msqlserver的几种类型及解决MSSQLServer服务启动不了的问题
  10. #6281. 数列分块入门 5
  11. 增长率用计算机怎么算,excel如何利用公式来计算平均增长率的方法
  12. 网络ip功放连接图_ip网络功放
  13. ubuntu 22.0 不能调节屏幕亮度
  14. Java 最全面的面试题675道
  15. 2019杭州电子科技大学计算机考研经验——97天一战上岸
  16. linux解除硬盘加密,linux下硬盘加密
  17. 精简高效的CSS命名准则/方法
  18. TIPC Cluster5
  19. 多因子模型的步骤梳理(以打分法为例)
  20. 使用a标签时不用href=““调转页面

热门文章

  1. 谈谈我理解的SA——Systems Architecture
  2. 前端后端程序员必备的Linux基础知识
  3. RDKit|分子修改与编辑
  4. NLP从入门到实战(三)
  5. Java实现数据排序
  6. Java 枚举类型的应用
  7. ARM指令——跳转指令
  8. TM1637带秒点四位LED显示器模块ARDUINO驱动程序
  9. 一些关于HTML与CSS的总结与实际应用
  10. 阿里云 mysql tps_MySQL_tps