<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>Latest Version</version>
</dependency>| 类 | 方法 | 修改说明 |
|---|---|---|
| FileOutConfig | outputFile | 方法返回值修改为File,自定义类直接new File(xxxxx)返回即可. |
| InjectionConfig | prepareObjectMap | 方法返回值修改为void |
| 属性 | 说明 | 示例 |
|---|---|---|
| url | jdbc路径 | jdbc:mysql://127.0.0.1:3306/mybatis-plus |
| username | 数据库账号 | root |
| password | 数据库密码 | 123456 |
new DataSourceConfig.
Builder("jdbc:mysql://127.0.0.1:3306/mybatis-plus","root","123456").build();| 方法 | 说明 | 示例 |
|---|---|---|
| driver | 数据库驱动 | Driver.class 或 com.mysql.jdbc.Driver |
| dbType | 数据库类型 | DbType.MYSQL |
| typeConvert | 数据库类型转换器 | new MySqlTypeConvert() |
| keyWordsHandler | 数据库关键字处理器 | new MySqlKeyWordsHandler() |
| dbQuery | 数据库查询 | new MySqlQuery() |
| schema | 数据库schema(部分数据库适用) | mybatis-plus |
new DataSourceConfig
.Builder("jdbc:mysql://127.0.0.1:3306/mybatis-plus","root","123456")
.driver(Driver.class)
.dbType(DbType.MYSQL)
.typeConvert(new MySqlTypeConvert())
.keyWordsHandler(new MySqlKeyWordsHandler())
.dbQuery(new MySqlQuery())
.schema("mybatis-plus")
.build();| 方法 | 说明 | 示例 |
|---|---|---|
| fileOverride | 是否覆盖已生成文件 | 默认值:false |
| openDir | 是否打开生成目录 | 默认值:true |
| outputDir | 指定输出目录 | /opt/baomidou/ 默认值: windows:D:// linux or mac : /tmp |
| author | 作者名 | baomidou 默认值:无 |
| kotlin | 是否生成kotlin | 默认值:false |
| swagger2 | 是否生成swagger2注解 | 默认值:false |
| dateType | 时间策略 | DateType.ONLY_DATE 默认值: DateType.TIME_PACK |
| commentDate | 注释日期 | 默认值: yyyy-MM-dd |
GeneratorBuilder.globalConfigBuilder()
.fileOverride(true).openDir(true).kotlin(false).swagger2(true)
.outputDir("/opt/baomidou")
.author("baomidou").dateType(DateType.TIME_PACK).commentDate("yyyy-MM-dd")
.build();| 方法 | 说明 | 示例 |
|---|---|---|
| parent | 父包名 | 默认值:com.baomidou |
| moduleName | 父包模块名 | sys 默认值:无 |
| entity | Entity包名 | 默认值:entity |
| service | Service包名 | 默认值:service |
| serviceImpl | Service Impl包名 | 默认值:service.impl |
| mapper | Mapper包名 | 默认值:mapper |
| xml | Mapper XML包名 | 默认值:mapper.xml |
| controller | Controller包名 | 默认值:controller |
new PackageConfig.Builder().parent("com.baomidou.mybatisplus.samples.generator").moduleName("sys").build();| 方法 | 说明 | 示例 |
|---|---|---|
| all | 激活所有默认模板 | |
| entity | 使用默认实体模板 | /templates/entity |
| entity(string) | 使用自定义实体模板 | |
| service | 使用默认配套service模板 | /templates/service.java,/templates/serviceImpl.java |
| service(string,string) | 使用自定义service模板 | |
| mapper | 使用默认mapper模板 | /templates/mapper.java |
| mapper(string) | 使用自定义mapper模板 | |
| mapperXml | 使用默认mapperXml模板 | /templates/mapper.xml |
| mapperXml(string) | 使用自定义mapperXml模板 | |
| controller | 使用默认controller模板 | /templates/controller.java |
| controller(string) | 使用自定义controller模板 |
new TemplateConfig.Builder().all().build(); //激活所有默认模板| 方法 | 说明 | 示例 |
|---|---|---|
| enableCapitalMode | 开启大写命名 | |
| enableSkipView | 开启跳过视图 | |
| disableSqlFilter | 禁用sql过滤 | 语法不能支持使用sql过滤表的话,可以考虑关闭此开关. |
| likeTable | 模糊表匹配(sql过滤) | |
| notLikeTable | 模糊表排除(sql过滤) | |
| addFieldPrefix(string...) | 增加表字段前缀 | |
| addInclude(string...) | 增加表匹配(内存过滤) | |
| addExclude(string...) | 增加表排除匹配(内存过滤) | |
| addTablePrefix(string...) | 增加表前缀 | |
| entityBuilder | 实体策略配置 | |
| controllerBuilder | controller策略配置 | |
| mapperBuilder | mapper策略配置 | |
| serviceBuilder | service策略配置 |
| 方法 | 说明 | 示例 |
|---|---|---|
| nameConvert | 名称转换实现 | |
| superClass | 父类 | |
| enableSerialVersionUID | 开启生成serialVersionUID | |
| enableColumnConstant | 开启生成字段常量 | |
| enableChainModel | 开启链式模型 | |
| enableLombok | 开启lombok模型 | |
| enableRemoveIsPrefix | 开启Boolean类型字段移除is前缀 | |
| enableTableFieldAnnotationEnable | 开启生成实体时生成字段注解 | |
| versionColumnName(string) | 乐观锁字段名(数据库) | |
| versionPropertyName(string) | 乐观锁属性名(实体) | |
| logicDeleteColumnName(string) | 逻辑删除字段名(数据库) | |
| logicDeletePropertyName(string) | 逻辑删除属性名(实体) | |
| naming | 数据库表映射到实体的命名策略 | 默认:NamingStrategy.no_change |
| columnNaming | 数据库表字段映射到实体的命名策略 | |
| addSuperEntityColumns(string...) | 添加父类公共字段 | |
| addTableFills(IFill...) | 添加属性填充字段 | |
| enableActiveRecord | 开启ActiveRecord模型 | |
| idType | 全局主键类型 | |
| convertFileName | 转换文件名称 | |
| formatFileName | 格式化文件名称 |
| 方法 | 说明 | 示例 |
|---|---|---|
| superClass | 父类 | |
| enableHyphenStyle | 开启驼峰转连字符 | |
| enableRestStyle | 开启生成@RestController控制器 | |
| convertFileName | 转换文件名称 | |
| formatFileName | 格式化文件名称 |
| 方法 | 说明 | 示例 |
|---|---|---|
| superServiceClass | 设置service接口父类 | |
| superServiceImplClass | 设置service实现类父类 | |
| convertServiceFileName | 转换service接口文件名称 | |
| convertServiceImplFileName | 转换service实现类文件名称 | |
| formatServiceFileName | 格式化service接口文件名称 | |
| formatServiceImplFileName | 格式化service实现类文件名称 |
| 方法 | 说明 | 示例 |
|---|---|---|
| superClass | 设置父类 | |
| enableBaseResultMap | 启用BaseResultMap生成 | |
| enableBaseColumnList | 启用BaseColumnList | |
| cache | 设置缓存实现类 | |
| formatMapperFileName | 格式化mapper文件名称 | |
| formatXmlFileName | 格式化xml实现类文件名称 | |
| convertMapperFileName | 转换mapper类文件名称 | |
| convertXmlFileName | 转换xml文件名称 |
new StrategyConfig.Builder()
.enableSqlFilter(true)// 启用sql过滤
.capitalMode(true)// 是否大写命名
.entityBuilder()// 实体配置构建者
.enableLombok()// 开启lombok模型
.versionColumnName("version") //乐观锁数据库表字段
.naming(NamingStrategy.underline_to_camel)// 数据库表映射到实体的命名策略
.addTableFills(new Column("create_time", FieldFill.INSERT)) //基于数据库字段填充
.addTableFills(new Property("updateTime", FieldFill.INSERT_UPDATE)) //基于模型属性填充
.controllerBuilder() //控制器属性配置构建
.restStyle(true)
.build();