• mybatis-plus 代码生成器


    所需jar

    <!--mybatis-plus 相关依赖-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.3.1</version>
        </dependency>
    
        <!--mybatis-plus代码生成器 相关依赖-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.3.1</version>
        </dependency>
    
        <!--代码生成器模板引擎 相关依赖-->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.2</version>
        </dependency>
    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.*;
    import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
    
    import java.util.Scanner;
    
    /**
     * mybatis-plus 代码生成器
     */
    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) {
    
            // 全局配置
            GlobalConfig gc = new GlobalConfig();
            //是否支持AR模式
            gc.setActiveRecord(true)
                .setAuthor("zyh") //作者
                .setOutputDir("D:\workspace_my\mp03\src\main\java")  //生成路径
                .setFileOverride(true)//是否文件覆盖,如果多次
                .setServiceName("%sService") //设置生成的service接口名首字母是否为I
                .setIdType(IdType.AUTO) //主键策略
                .setBaseResultMap(true)//开启 BaseResultMap 默认false
                .setEntityName("%sEntity")//实体命名方式  默认值:null 例如:%sEntity 生成 UserEntity
                .setMapperName("%sMapper")//mapper 命名方式 默认值:null 例如:%sDao 生成 UserDao
                .setXmlName("%sMapper")//Mapper xml 命名方式   默认值:null 例如:%sDao 生成 UserDao.xml
                .setServiceName("%sService")//service 命名方式   默认值:null 例如:%sBusiness 生成 UserBusiness
                .setServiceImplName("%sServiceImpl")//service impl 命名方式  默认值:null 例如:%sBusinessImpl 生成 UserBusinessImpl
                .setControllerName("%sController")//controller 命名方式    默认值:null 例如:%sAction 生成 UserAction
                .setFileOverride(false);
    
    
            // 数据源配置
            DataSourceConfig dsc = new DataSourceConfig();
            dsc.setUrl("jdbc:mysql://localhost:3306/ant?useUnicode=true&useSSL=false&characterEncoding=utf8");
            // dsc.setSchemaName("public");
            dsc.setDriverName("com.mysql.jdbc.Driver");
            dsc.setUsername("root");
            dsc.setPassword("密码");
    
    
            //策略配置
            StrategyConfig stConfig = new StrategyConfig();
            stConfig.setCapitalMode(true) // 全局大写命名
    //                .setDbColumnUnderline(true) //表名 字段名 是否使用下滑线命名
                    .setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略
                    .setInclude(scanner("表名,多个英文逗号分割").split(",")) //生成的表
                    .setTablePrefix(scanner("表名前缀 如tbl_table 输入tbl")); // 表前缀
    
            // 包配置
            PackageConfig pkConfig = new PackageConfig();
            pkConfig.setParent("com.atguigu.mp")//父包名
                    .setController("controller")
                    .setEntity("beans")
                    .setService("service")
                    .setMapper("mapper")
                    .setXml("mapper");
    
            //com.atguigu.mp  下单独建立包: scanner("模块名")  放入
    //        PackageConfig pc = new PackageConfig();
    //        pc.setModuleName(scanner("模块名"));
    //        pc.setParent("com.baomidou.ant");
    //        mpg.setPackageInfo(pc);
    
    
    
    
            //5.整合配置
            AutoGenerator ag = new AutoGenerator().setGlobalConfig(gc)
                    .setDataSource(dsc)
                    .setStrategy(stConfig)
                    .setPackageInfo(pkConfig);
    
    
            ag.execute();
    
        }
    
    }

    官方地址:https://mp.baomidou.com/guide/generator.html

  • 相关阅读:
    [转]使用Java Mission Control进行内存分配分析
    JDE开发端安装问题(JDE初步卸载重装)
    JDE开发端安装笔记
    [转]JDE910--jas.ini参数说明
    [转]十个常见的缓存使用误区及建议
    JDE910笔记2--OMW项目建立及简单使用
    JDE910笔记1--基础介绍及配置
    [转] 编程之美--字符串移位包含的问题
    关于JDBC
    [转]何时使用委托而不使用接口(C# 编程指南)
  • 原文地址:https://www.cnblogs.com/zyh-s/p/13253411.html
Copyright © 2020-2023  润新知