zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Python 学习笔记 11.模块(Module)
    Python 学习笔记 8.引用(Reference)
    Python 学习笔记 9.函数(Function)
    Python 学习笔记 6.List和Tuple
    Python 学习笔记 4.if 表达式
    Python 学习笔记 2.自省
    Python 学习笔记 3.简单类型
    Python 学习笔记 7.Dictionary
    Python 学习笔记 5.对象驻留
    Python 学习笔记 10.类(Class)
  • 原文地址:https://www.cnblogs.com/zyh-s/p/13253411.html
Copyright © 2011-2022 走看看