Mybatis Plus 3.x 自动生成代码
2019-01-02 14:52
399 查看
自动生成代码
把心思放在写业务逻辑上,杜绝不必要的重复动作
第一步 导入Mybatis_plus对应的jar包
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.7</version> </dependency>
第二步
填写对应配置
- 全局配置
配置自定义生成的Order,Controller,Service,ServiceImpl,Mapper,XML的名字以及配置是否开启Swagger2的支持等等 - 数据源配置
- 包配置
配置对应的模块名以及要生成的代码所在的包名 - 策略配置
配置要生成的代码的一些策略,比如表明是否要驼峰命名,是否启用Lombok和REST风格以及各个类对应的父类及父接口等(此功能挺其强大,配置较多,推荐去看源码)
package pro.nbbt.admin.codeGenerator; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; import com.baomidou.mybatisplus.core.toolkit.StringUtils; 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.rules.NamingStrategy; import java.util.Scanner; /** * @author luohuiqi * 2019年1月2日 * 控制台输入相应模块以及实体,Controller,service等名称,自动生成代码 */ public class CodeGenerator { /** * <p> * 读取控制台内容 * </p> */ public static String scanner(String tip) { Scanner scanner = new Scanner(System.in); StringBuilder help = new StringBuilder(); help.append("帅哥,请输入一下你的" + tip + ":"); System.out.println(help.toString()); if (scanner.hasNext()) { String ipt = scanner.next(); if (StringUtils.isNotEmpty(ipt)) { return ipt; } } throw new MybatisPlusException("请输入正确的" + tip + "!"); } public static void main(String[] args) { // 代码生成器 AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); gc.setOutputDir(projectPath + "/src/main/java"); gc.setAuthor("luohuiqi"); gc.setOpen(false); gc.setSwagger2(true); gc.setBaseResultMap(true); gc.setIdType(IdType.AUTO); gc.setEntityName(scanner("实体类名")); gc.setControllerName(scanner("Controlller名")); gc.setServiceName(scanner("Service名")); gc.setServiceImplName(scanner("ServiceImpl名")); gc.setMapperName(scanner("Mapper名")); gc.setXmlName(scanner("XML名")); mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://47.101.57.159:3306/xulian-data?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("xulian705mysql"); mpg.setDataSource(dsc); // 包配置 PackageConfig pc = new PackageConfig(); pc.setModuleName(scanner("模块名")); pc.setParent("pro.nbbt.admin") .setMapper("dao") .setService("service") .setController("controller") .setEntity("model") .setXml("dao.mapping"); mpg.setPackageInfo(pc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); // 表名生成策略(下划线转驼峰命名) strategy.setNaming(NamingStrategy.underline_to_camel); // 列名生成策略(下划线转驼峰命名) strategy.setColumnNaming(NamingStrategy.underline_to_camel); // 是否启动Lombok配置 strategy.setEntityLombokModel(true); // 是否启动REST风格配置 strategy.setRestControllerStyle(true); // 自定义实体父类 strategy.setSuperEntityClass("com.baomidou.mybatisplus.extension.activerecord.Model"); // 自定义controller父类 strategy.setSuperControllerClass("pro.nbbt.base.controller.BaseController"); // 自定义service父接口 strategy.setSuperServiceClass("com.baomidou.mybatisplus.extension.service.IService"); // 自定义service实现类 strategy.setSuperServiceImplClass("com.baomidou.mybatisplus.extension.service.impl.ServiceImpl"); // 自定义mapper接口 strategy.setSuperMapperClass("com.baomidou.mybatisplus.core.mapper.BaseMapper"); strategy.setInclude(scanner("表名")); strategy.setSuperEntityColumns("id"); mpg.setStrategy(strategy); // 执行 mpg.execute(); } }
代码执行后
相关文章推荐
- Mybatis3.x与Spring4.x整合+代码自动生成
- Maven整合ssm框架(Maven+Spring MVC+Spring+Mybatis Plus),Mybatis Plus自动生成代码(Generator) 文末附码云完整代码
- mybatis-plus 自动生成代码---GeneratorMapper.xml
- SpringBoot+mybatis plus的代码自动生成
- 从命令行及java程序运行MyBatis Generator 1.3.x自动生成MyBatis 3.x代码
- mybatis-plus自动生成代码到相应的model
- MyBatisPlus AutoGenrator代码自动生成
- mybatis-plus自动生成代码不覆盖生成,若存在就不生成,多模块就生成到相应的模块
- mybatis-generator 代码自动生成插件
- Mybatis 代码自动生成[myeclipse版]
- Mybatis最入门---代码自动生成(generatorConfig.xml配置)
- mybatis-generator 代码自动生成工具
- [置顶] SpringBoot 使用Mybatis-Generator自动生成代码
- 使用Intellij IDEA在maven项目中集成mybatis-generator插件,自动生成代码
- 根据mysql数据库自动生成mvc三层代码及jsp页,极速开发srpingmvc+mybatis+bootstrap项目。
- MyBatis代码自动生成
- MyBatisGenerator的自动生成代码之Eclipse
- mybatis-generator 代码自动生成工具(maven方式)
- 使用Mybatis-Generator自动生成代码
- 学习如何使用Mybatis-generator 自动生成java代码以及Mapper文件