zoukankan      html  css  js  c++  java
  • Mybatis-Plus 代码生成器

    1. 引入模板引擎依赖

    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-engine-core</artifactId>
        <version>2.0</version>
    </dependency>
    

    2. 编写配置

    import com.baomidou.mybatisplus.annotation.DbType;
    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.rules.DateType;
    import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
    import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
    import org.junit.Test;
    
    /**
     * 代码生成器
     */
    public class CodeGenerator {
    
        @Test
        public void main() {
            // 1、创建代码生成器
            AutoGenerator mpg = new AutoGenerator();
            // 2、全局配置
            GlobalConfig gc = new GlobalConfig();
            // 填写代码生成的目录
            String projectPath = System.getProperty("user.dir");
            // 拼接出代码最终输出的目录
            gc.setOutputDir(projectPath + "/src/main/java");
    		// 配置开发者信息
            gc.setAuthor("papercy");
    		//生成后是否打开资源管理器
            gc.setOpen(false);
            gc.setFileOverride(false); //重新生成时文件是否覆盖
            /*
             * mp生成service层代码,默认接口名称第一个字母有 I
             * UcenterService
             * */
            gc.setServiceName("%sService"); //去掉Service接口的首字母I
            gc.setIdType(IdType.ID_WORKER); //主键策略
            gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
            gc.setSwagger2(true);//开启Swagger2模式
            mpg.setGlobalConfig(gc);
            // 3、数据源配置
            DataSourceConfig dsc = new DataSourceConfig();
    		 // 配置数据库 url 地址
            dsc.setUrl("jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8");
    		// 配置数据库驱动
            dsc.setDriverName("com.mysql.cj.jdbc.Driver");
    		// 配置数据库连接用户名
            dsc.setUsername("root");
    		// 配置数据库连接密码
            dsc.setPassword("123456");
    		// 配置数据库类型为MYSQL
            dsc.setDbType(DbType.MYSQL);
            mpg.setDataSource(dsc);
            // 4、包配置
            PackageConfig pc = new PackageConfig();
            pc.setModuleName(null); //模块名
            pc.setParent("com.guli.edu");// 配置父包名
            pc.setController("controller");// 配置 controller 包名
            pc.setEntity("entity");// 配置 entity 包名
            pc.setService("service"); // 配置 service 包名
            pc.setMapper("mapper");// 配置 mapper 包名
            mpg.setPackageInfo(pc);
            // 5、策略配置(数据库表配置)
            StrategyConfig strategy = new StrategyConfig();
            strategy.setInclude("1","2","3","4");//表名(可以同时操作多个表,使用 , 隔开)
            strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
            strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀
            strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
            strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作
            strategy.setRestControllerStyle(true); //restful api风格控制器
            strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符
            mpg.setStrategy(strategy);
            // 6、执行
            mpg.execute();
        }
    }
    
    

    编写不易,如果对您有帮助,点赞,收藏,评论 三连支持下博主就是对博主最大的鼓励~~~

  • 相关阅读:
    卷积神经网络之ResNet网络模型学习
    进程调度
    进程基础知识
    顺序栈链栈
    图的基本概念和术语
    关系数据库SQL复习
    关系数据库域关系演算语言QBE
    关系数据库元组关系演算语言ALPHA
    关系数据库关系模型、数据结构、完整性、关系代数
    数据库数据模型和系统结构
  • 原文地址:https://www.cnblogs.com/papercy/p/15340088.html
Copyright © 2011-2022 走看看