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

    1、比较MP 的代码生成器 和 Mybatis MBG 代码生成器:

    MP 的代码生成器都是基于 java 代码来生成。MBG 基于 xml 文件进行代码生成

    MyBatis 的代码生成器可生成: 实体类、Mapper 接口、Mapper 映射文件

    MP 的代码生成器可生成: 实体类(可以选择是否支持 AR)、Mapper 接口、Mapper 映射文件、 Service 层、Controller 层.

    2、表及字段命名策略选择

    在 MP 中,我们建议数据库表名 和 表字段名采用驼峰命名方式, 如果采用下划 线命名方式 请开启全局下划线开关,如果表名字段名命名方式不一致请注解指定,我 们建议最好保持一致。

    3、如何使用代码生成器

    1)加入依赖信息

    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-engine-core</artifactId>
        <version>2.0</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.7</version>
    </dependency>
    <dependency>
    <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.7</version>
    </dependency>

    2)生成器代码

    @Test
    public void testGenerater(){
        //1、全局策略配置
        GlobalConfig config = new GlobalConfig();
        config.setActiveRecord(true)
                .setAuthor("houchen")
                .setOutputDir("D:\myworkspace\mybatis-plus\mp03\src\main\java")
                .setFileOverride(true) //多次生成是否文件覆盖
                .setIdType(IdType.AUTO)
                .setServiceName("%sService") //设置生成的service接口的名字的首字母是否为I
                .setBaseResultMap(true)
                .setBaseColumnList(true); //生成基本的sql片段
    
        //2、数据源配置
        DataSourceConfig dsConfig = new DataSourceConfig();
        dsConfig.setDbType(DbType.MYSQL)
                .setDriverName("com.mysql.jdbc.Driver")
                .setUrl("jdbc:mysql://localhost:3306/mybatis")
                .setUsername("root")
                .setPassword("houchen");
    
        //3、策略配置
        StrategyConfig sconfig = new StrategyConfig();
        sconfig.setCapitalMode(true) //开启全局大写命名
                .setDbColumnUnderline(true) //指定表名  字段名是否设置下划线
                .setNaming(NamingStrategy.underline_to_camel) //下划线转驼峰
                .setTablePrefix("tbl_") //设置表名前缀
                .setInclude("tbl_employee"); //生成使用的表
    
    
        //4、包名配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("com.atguigu.mp")
                .setController("controller")
                .setService("service")
                .setMapper("mapper")
                .setEntity("beans")
                .setXml("mapper");   // sql 映射文件
    
        //5、整合所有的配置
        AutoGenerator autoGenerator = new AutoGenerator();
        autoGenerator.setGlobalConfig(config);
        autoGenerator.setDataSource(dsConfig);
        autoGenerator.setStrategy(sconfig);
        autoGenerator.setPackageInfo(packageConfig);
    
        //6、执行
        autoGenerator.execute();
    }

    clipboard

  • 相关阅读:
    并发编程之六:java并发工具包(java.util.concurrent)汇总介绍
    Interpreter(解释器)模式
    CSS样式
    一个相当好的自定义标签分页
    logback高级特性一
    Jenkins
    ifconfig命令
    持续集成工具hudson
    数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B树、B+树、B*树)
    Java中"Test(Object...args){}"方法声明的理解——J2SE5的“Vararg
  • 原文地址:https://www.cnblogs.com/houchen/p/13511872.html
Copyright © 2011-2022 走看看