官方配置:/pages/981406/#%E6%95%B0%E6%8D%AE%E5%BA%93%E9%85%8D%E7%BD%AE-datasourceconfig
官方的说明非常详细,可以参考。
1:添加所需要的依赖
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.1</version></dependency><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.1</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.21</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- /artifact/io.swagger/swagger-annotations --><dependency><groupId>io.swagger</groupId><artifactId>swagger-annotations</artifactId><version>1.5.22</version></dependency></dependencies>
2:写代码生成器类
@Testvoid contextLoads() {/*数据库配置*/DataSourceConfig dataSourceConfig =new DataSourceConfig.Builder("jdbc:mysql://localhost:3306/db01?useUnicode=true&characterEncoding=utf8&useSSL=false","root","123456").dbQuery(new MySqlQuery()).build();/*创建一共代码生成器对象*/AutoGenerator generator = new AutoGenerator(dataSourceConfig);String property = System.getProperty("user.dir");/*全局配置*/GlobalConfig globalConfig = new GlobalConfig.Builder().fileOverride().outputDir(property + "/src/main/java").author("冬木")//.enableKotlin().enableSwagger().dateType(DateType.TIME_PACK).commentDate("yyyy-MM-dd").build();generator.global(globalConfig);/*包配置(PackageConfig)*/PackageConfig packageConfig = new PackageConfig.Builder().parent("com.dongmu.mybatisplus").moduleName("blog").entity("pojo").service("service").serviceImpl("service.impl").mapper("mapper").xml("mapper.xml").controller("controller").other("other").pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D://")).build();generator.packageInfo(packageConfig);TemplateConfig templateConfig = new TemplateConfig.Builder().disable(TemplateType.ENTITY).entity("/templates/entity.java").service("/templates/service.java").serviceImpl("/templates/serviceImpl.java").mapper("/templates/mapper.java").mapperXml("/templates/mapper.xml").controller("/templates/controller.java").build();generator.template(templateConfig);/*策略配置*/StrategyConfig strategyConfig = new StrategyConfig.Builder().enableCapitalMode().enableSkipView().disableSqlFilter()//.likeTable(new LikeTable("USER")).addInclude("user")//.addTablePrefix("t_", "c_")//.addFieldSuffix("_flag")/* .entityBuilder().controllerBuilder().mapperBuilder().serviceBuilder()*/.build();strategyConfig.entityBuilder()//.superClass(BaseEntity.class).disableSerialVersionUID().enableChainModel().enableLombok().enableRemoveIsPrefix().enableTableFieldAnnotation().enableActiveRecord().versionColumnName("version").versionPropertyName("version").logicDeleteColumnName("deleted").logicDeletePropertyName("deleted").naming(NamingStrategy.no_change).columnNaming(NamingStrategy.underline_to_camel)//.addSuperEntityColumns("id", "created_by", "created_time", "updated_by", "updated_time")//.addIgnoreColumns("age").addTableFills(new Column("create_time", FieldFill.INSERT)).addTableFills(new Property("update_time", FieldFill.INSERT_UPDATE)).idType(IdType.AUTO).formatFileName("%s").build();strategyConfig.controllerBuilder()//.superClass(BaseController.class)//.enableHyphenStyle().enableRestStyle().formatFileName("%sController").build();strategyConfig.serviceBuilder()//.superServiceClass(BaseService.class)//.superServiceImplClass(BaseServiceImpl.class).formatServiceFileName("%sService").formatServiceImplFileName("%sServiceImp").build();strategyConfig.mapperBuilder().superClass(BaseMapper.class).enableMapperAnnotation().enableBaseResultMap().enableBaseColumnList()//.cache(MyMapperCache.class).formatMapperFileName("%sDao").formatXmlFileName("%sXml").build();generator.strategy(strategyConfig);/*执行代码生成器*/generator.execute();}
执行结果:
数据库信息:
我们再测试一下swagger,要注意加入依赖,
注意报错了的话要降低springboot的版本。
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.1</version></dependency><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.1</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.21</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--/artifact/io.swagger/swagger-annotations<dependency><groupId>io.swagger</groupId><artifactId>swagger-annotations</artifactId><version>1.5.22</version></dependency>--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency></dependencies>
测试成功。