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

原文地址:https://www.cnblogs.com/houchen/p/13511872.html