zoukankan      html  css  js  c++  java
  • mybatisplus----代码自动生成器

    代码自动生成器

    AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。


    dao,pojo,service,controller 给我自己去编写完成!

    1.先引入mybatis-plus的包依赖

    <!--mybatisplus 是自己开发并非官方-->
    <dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.1</version>
    </dependency>

      <dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.2</version>
    </dependency>
    <!--代码生成器依赖-->
    <dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.4.1</version>
    </dependency>

    2.配置文件中的配置

    #配置端口
    spring.port=8100
    #配置性能分析插件(显示每一条sql语句,和他的执行时间)
    spring.profiles.active=dev
    
    #禁用模板缓存
    spring.thymeleaf.cache=false
    
    
    #mysql 5 驱动不同 com.mysql.jdbc.Driver
    
    # mysql 8 驱动不同com.mysql.cj.jdbc.Driver(记住高版本兼容低版本的),需要增加市区配置serverTimezone=GMT%2B8 (东八区)
    spring.datasource.username=root
    spring.datasource.password=123456
    spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    
    #配置日志
    mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
    #配置逻辑删除
    mybatis-plus.global-config.db-config.logic-delete-value=1
    mybatis-plus.global-config.db-config.logic-not-delete-value=0

    3.MP配置类

    
    
    @MapperScan("com.hui.mapper")//把扫描mapper接口的注解移动到这个配置类上面
    @EnableTransactionManagement//事务注解默认开启
    @Configuration//配置类
    public class MybatisplusConfig {
    
     
    
    }

    4.编写代码自动生成器的功能类:

    package com.hui;
    
    
    import com.baomidou.mybatisplus.annotation.DbType;
    import com.baomidou.mybatisplus.annotation.FieldFill;
    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.po.TableFill;
    import com.baomidou.mybatisplus.generator.config.rules.DateType;
    import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
    
    import java.util.ArrayList;
    
    //代码自动生成器
    public class HuiCode {
        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("Joker-0927");
            gc.setOpen(false);//是否打开资源管理器(生成之后是否打开文件夹)
            gc.setFileOverride(false);//是否覆盖原来生成的
            gc.setServiceName("%sService");//去service的I前缀
            gc.setIdType(IdType.ID_WORKER);//主键自动生成策略:这里还是雪花算法
            gc.setDateType(DateType.ONLY_DATE);//日期是普通日期
            gc.setSwagger2(true);//配置Swagger文档
    
            //把全局配置丢到我们的代码自动生成器的里面
            mpg.setGlobalConfig(gc);
    
            //2,配置数据源
            DataSourceConfig dsc = new DataSourceConfig();
            dsc.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8");
            dsc.setDriverName("com.mysql.cj.jdbc.Driver");
            dsc.setUsername("root");
            dsc.setPassword("123456");
            dsc.setDbType(DbType.MYSQL);
            mpg.setDataSource(dsc);
    
    
            //包的配置
            PackageConfig pc = new PackageConfig();
            pc.setModuleName("blog");
            pc.setParent("com.hui");
            pc.setEntity("entity");
            pc.setMapper("mapper");
            pc.setService("service");
            pc.setController("controller");
            mpg.setPackageInfo(pc);
    
    //3.策略配置
    
            StrategyConfig strategy = new StrategyConfig();
            strategy.setInclude("user");//设置映射的表名
            strategy.setNaming(NamingStrategy.underline_to_camel);
            strategy.setColumnNaming(NamingStrategy.underline_to_camel);
            strategy.setSuperEntityClass("你自己的父类实体,没有就不用设置!");
            strategy.setEntityLombokModel(true);
            strategy.setLogicDeleteFieldName("deleted");//配置逻辑删除
    
            //自动填充的配置
            TableFill gmtCreate = new TableFill("gmt_create", FieldFill.INSERT);
            TableFill gmtModified = new TableFill("gmt_modified", FieldFill.INSERT_UPDATE);
            ArrayList<TableFill> tableFills = new ArrayList<>();
            tableFills.add(gmtCreate);
            tableFills.add(gmtModified);
            strategy.setTableFillList(tableFills);
    
            //乐观锁
            strategy.setVersionFieldName("version");
            strategy.setRestControllerStyle(true);//开启驼峰命名法
            strategy.setControllerMappingHyphenStyle(true);//开启rest请求
            mpg.setStrategy(strategy);
    
    
            mpg.execute();//代码构造器执行
    
    
        }
    
    
    }

    执行结果:

     

    迎风少年
  • 相关阅读:
    开始学习编写用于 Windows SideShow 设备的小工具【转】
    Windows Mobile 6.5 Developer Tool Kit 下载
    Microsoft Security Essentials 微软免费杀毒软件下载
    SQL Server 2008 空间数据存储摘抄(SRID 点 MultiPoint LineString MultiLineString 多边形 MultiPolygon GeometryCollection)
    Vista Sidebar Gadget (侧边栏小工具)开发教程 (2)
    Vista Sidebar Gadget (侧边栏小工具)开发教程 (4)
    负载测试、压力测试和性能测试的异同
    Windows Server 2008 Vista Sidebar Gadget (侧边栏小工具) 入门开发实例
    Silverlight Tools 安装失败 解决办法
    SQL Server 2008 空间数据库 空间索引概念及创建(取自帮助)
  • 原文地址:https://www.cnblogs.com/ZYH-coder0927/p/13971284.html
Copyright © 2011-2022 走看看