• spring boot mybatis逆向工程


    创建SpringBoot项目

    创建一个普通的SpringBoot项目,然后引入依赖,既然要跟数据库打交道,connector肯定不能少

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.18</version>
    </dependency>

    另外要使用mybatis-plus,当然也要引入该starter

    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.1</version>
    </dependency>
    

    由于需要用到逆向工程,所以引入依赖

    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-generator</artifactId>
        <version>3.4.1</version>
    </dependency>
    

    还需要一个模板引擎的依赖

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

    为了方便起见,这里引入Lombok

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>

    然后编写一个类,直接执行即可!

    class AutoCode public static void main(String[] args// 1、全局配置 GlobalConfig globalConfig new GlobalConfig();//构建全局配置对象 String projectPath = System.getProperty("user.dir");// 获取当前用户的目录 globalConfig.setOutputDir(projectPath "/mybatis-plus-01-start/src/main/java")// 输出文件路径 .setAuthor("微信搜一搜:贺贺学编程")// 设置作者名字 .setOpen(false)// 是否打开资源管理器 .setFileOverride(true)// 是否覆盖原来生成的 .setIdType(IdType.AUTO)// 主键策略 .setBaseResultMap(true)// 生成resultMap .setBaseColumnList(true)// XML中生成基础列 .setServiceName("%sService");// 生成的service接口名字首字母是否为I,这样设置就没有I // 2、数据源配置 DataSourceConfig dataSourceConfig new DataSourceConfig();// 创建数据源配置 dataSourceConfig .setUrl("jdbc:mysql://127.0.0.1:3306/mybatis_plus?userSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC".setDriverName("com.mysql.cj.jdbc.Driver".setUsername("root")                 .setPassword("root".setDbType(DbType.MYSQL)// 3、包配置 PackageConfig packageConfig new PackageConfig(); packageConfig .setParent("com.hzy".setEntity("entity".setController("controller".setService("service".setMapper("mapper");// 4、策略配置 StrategyConfig strategyConfig new StrategyConfig(); strategyConfig .setCapitalMode(true)// 开启全局大写命名 .setInclude("user")// 设置要映射的表 .setNaming(NamingStrategy.underline_to_camel)// 下划线到驼峰的命名方式.setColumnNaming(NamingStrategy.underline_to_camel)// 下划线到驼峰的命名方式 .setEntityLombokModel(false)// 是否使用lombok .setRestControllerStyle(true)// 是否开启rest风格 .setControllerMappingHyphenStyle(true);// localhost:8080/hello_a_2 // 5、自定义配置(配置输出xml文件到resources下) InjectionConfig cfg new InjectionConfig(@Override public void initMap(// to do nothing }; List<FileOutConfig> focList new ArrayList<>(); String templatePath "/templates/mapper.xml.vm"// 自定义配置会被优先输出 focList.add(new FileOutConfig(templatePath@Override public String outputFile(TableInfo tableInfo// 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!! return projectPath "/mybatis-plus-01-start/src/main/resources/mapper/" + tableInfo.getEntityName("Mapper" + StringPool.DOT_XML}); cfg.setFileOutConfigList(focList)// 6、整合配置 AutoGenerator autoGenerator new AutoGenerator();// 构建代码生自动成器对象 autoGenerator .setGlobalConfig(globalConfig)// 将全局配置放到代码生成器对象中 .setDataSource(dataSourceConfig)// 将数据源配置放到代码生成器对象中 .setPackageInfo(packageConfig)// 将包配置放到代码生成器对象中 .setStrategy(strategyConfig)// 将策略配置放到代码生成器对象中 .setCfg(cfg)// 将自定义配置放到代码生成器对象中 .execute();// 执行! }

    执行结果如下

    在这里插入图片描述
    代码中的注释比较多,我就不多说了,如果有什么问题可以进行私信~

  • 相关阅读:
    算法笔记--中国剩余定理
    算法笔记--辛普森积分公式
    算法笔记--数学之不定方程解的个数
    算法笔记--卢卡斯定理
    洛谷 P3808 【模板】AC自动机(简单版)洛谷 P3796 【模板】AC自动机(加强版)
    hihocoder #1419 : 后缀数组四·重复旋律4
    codevs 3044 矩形面积求并 || hdu 1542
    Stamps ans Envelope Sive UVA
    洛谷 P2061 [USACO07OPEN]城市的地平线City Horizon
    bzoj 3277: 串
  • 原文地址:https://www.cnblogs.com/JpfBlog66/p/14257926.html
Copyright © 2020-2023  润新知